作者VincentG (暮夜岚锋)
看板Python
标题[问题] 程式求救
时间Mon Mar 26 11:26:37 2018
版上的各位前辈大家好
小弟刚刚入门Python这个领域
正在写一个方程式
可是一直解不出来
想寻求各位前辈的帮助 谢谢!
题目:输入一整数n值,计算1-1/2+1/3-1/4+...+1/n
我写出的程式:
def sum(n):
sum=0
i=1
while i<=n:
if i%2==0:
sum=sum-(1/i)
else:
sum=sum+(1/i)
return sum(n)
i+=1
print(sum(3))
然後他会提示
TypeError Traceback (most recent call last)
<ipython-input-35-059adbd6225d> in <module>()
11 float(sum)
12
---> 13 print(sum(3))
<ipython-input-35-059adbd6225d> in sum(n)
7 else:
8 sum=sum+(1/i)
----> 9 return sum(n)
10 i+=1
11 float(sum)
TypeError: 'float' object is not callable
但是小弟刚学,看不懂这要如何修正,希望各位前辈可以帮帮忙,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.171.222.146
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1522034800.A.672.html
1F:推 somoskylin: 为什麽return 是n,而不是算出来的结果? 03/26 11:29
2F:推 somoskylin: 建议你变数不要取跟function一样,可能会有问题 03/26 11:31
3F:→ somoskylin: 我也是新手,如有错误请指正 03/26 11:31
4F:推 vi000246: 因为编译器以为sum是变数 而不是函式 03/26 11:35
5F:→ vi000246: 才会说float object 不可被呼叫 03/26 11:36
6F:→ vi000246: 解决方法同一楼 03/26 11:36
7F:推 hl4: sum()是built-in function 换个名字吧 03/26 12:12
8F:→ coeric: function改成my_sum吧... 03/26 12:43
9F:→ VincentG: 已经照各位的说明改了,但是问题变成怎麽输入数字都会 03/26 15:13
10F:→ VincentG: 算出1,这次又是甚麽问题呢? 03/26 15:13
11F:→ VincentG: 刚刚弄懂了,谢谢各位! 03/26 15:16