|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n
: Y1 }3 _2 c( `: {程序分析:无。9 e. P: v3 E0 d/ v0 n' _
- def peven(n):% j! @; N/ k4 l/ m
- i = 0
- Q9 t# I( y9 [1 H h* K - s = 0.0
. _: {/ \0 y9 d$ O# y' U2 O - for i in range(2,n + 1,2):
0 _" b. z, D2 t: Q3 |# C - s += 1.0 / i {0 S; ]% y, J/ G* n3 E, X
- return s6 F0 i7 A5 D# D* _
- 9 O3 }7 C; G: D; h- \9 D) Q1 l
- def podd(n):2 }' r/ r3 h: Q
- s = 0.0
: d" A& @. {! m u" L- ^, t - for i in range(1, n + 1,2):6 _1 }4 I% i M i5 R9 P2 O
- s += 1.0 / i
; Y1 t- @& `1 `$ }1 U - return s
( B/ B. b- D& s" }5 e" D, J( } - ! c9 S6 y. b7 T3 ?$ K7 i6 H
- def dcall(fp,n):% w1 m! W, e. V3 i) x5 D
- s = fp(n)' Z0 }6 @" _+ P3 R/ [
- return s
: s. q. O2 A1 W8 p+ p; i* x5 L -
7 Z% B: [# N* e% {( H" O/ a( m - if __name__ == '__main__':
/ h6 F9 m# _) T# Q& X. k - n = int(input('input a number: '))
; K* t3 Q8 G0 j - if n % 2 == 0:+ J. E4 J/ o* r2 S
- sum = dcall(peven,n)
8 F4 ^2 c/ Z% M& G8 E8 G- h; t - else:' [, v. ?. k+ Z" _7 z9 B& n: c# f
- sum = dcall(podd,n)
' O) w4 b, c4 h1 p; j0 R# s9 y - print (sum)
复制代码 |
|