Python 2.7 编写python程序需要一个int参数并添加1+1/2+1/3+1/4…1/n
我需要写一个函数countn,它接受一个正整数n并返回值 1 + 1/2 + 1/3 + 1/4 + ⋯ + 1/n 前 :Count4应产生1+1/2+1/3+1/4 我不知道该怎么做?任何帮助都会很好 def countn:Python 2.7 编写python程序需要一个int参数并添加1+1/2+1/3+1/4…1/n,python-2.7,Python 2.7,我需要写一个函数countn,它接受一个正整数n并返回值 1 + 1/2 + 1/3 + 1/4 + ⋯ + 1/n 前 :Count4应产生1+1/2+1/3+1/4 我不知道该怎么做?任何帮助都会很好 def countn: for c in range(1, n+1): print c + 1/c 我不能让它从第一位开始,也不能让它以数组格式打印 我的count4结果是 计数4 2.0应该是1 2.5应该是1.5 3.33333应为1.833333 4.25应该是2.083333
for c in range(1, n+1):
print c + 1/c
我不能让它从第一位开始,也不能让它以数组格式打印
我的count4结果是
计数4
2.0应该是1
2.5应该是1.5
3.33333应为1.833333
4.25应该是2.083333您的问题是,您正在将一个初步的1添加到1/1中,从而得到2。试试这个:
def count(n):
sum = 0 #Intializing the return variable
for i in range(1, n+1):
sum+=1.0/i #Adding to the return variable
return sum
这是这样的:
>>> def count(n):
... sum = 0
... for i in range(1, n+1):
... sum+=1.0/i
... return sum
...
>>> count(4)
2.083333333333333
>>> count(1)
1.0
>>> count(2)
1.5
>>> count(3)
1.8333333333333333
>>> count(4)
2.083333333333333
>>>
这个问题似乎离题了,因为这不是我试图学习的代码编写服务。我已经做了两个小时了。我想如果我看到了代码,我就可以逆向了解它是如何工作的。count=lambda n:sum1./iGotThisFromStackOverflow对于范围为1,n+1的iGotThisFromStackOverflow,我已经做了2个小时了。让我们看看你一直在做什么,我们可以帮你修复it@Tom那无关紧要;关于什么是可接受的问题,请参阅以获取指导。您只需要在分区的顶部或底部设置浮动;1/floati或1.0/i整洁,我很好。谢谢你的帮助。如果我一开始用错了,我道歉啊谢谢@jonrsharpe@Tom,如果这有帮助,请单击我答案旁边的绿色复选框。它也给了你声誉!