python计算1+1⼀2+1⼀3+...+1⼀n

2025-05-09 13:55:01
推荐回答(4个)
回答1:

这个没有循环,虽然内部是存在循环的。不过用的是内置函数,速度很快

print "%0.6f" %reduce(lambda x,y:x+1.0/y,range(1,101))

回答2:

>>> n=1.0
>>> s=0.0
>>> while(n<=100):
s=s+1/n
n=n+1
>>> s
5.1873775176396206

不使用循环很难吧?你认为该用什么呢?

原来是递归啊,失败。。。

回答3:

用递归啊。。。
def count (i, j):
x = float(i) + float(1)
y = j + float(1)/x
if int(x) < 100:
count(int(x),y)
else:
print '%0.6f' % y
if __name__ == '__main__':
result = count(0,0)

回答4:

num=int(raw_input("input a number:"))
print "The sum:",round(reduce(lambda x,y: x+1.0/y,range(1,num+1)),6)