[问题] 程式求救

楼主: VincentG (暮夜岚锋)   2018-03-26 11:26:37
版上的各位前辈大家好
小弟刚刚入门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
作者: somoskylin (八七booboo)   2018-03-26 11:29:00
为什么return 是n,而不是算出来的结果?建议你变量不要取跟function一样,可能会有问题我也是新手,如有错误请指正
作者: vi000246 (Vi)   2018-03-26 11:35:00
因为编译器以为sum是变量 而不是函式才会说float object 不可被呼叫解决方法同一楼
作者: hl4 (Zec)   2018-03-26 12:12:00
sum()是built-in function 换个名字吧
作者: coeric ( )   2018-03-26 12:43:00
function改成my_sum吧...
楼主: VincentG (暮夜岚锋)   2018-03-26 15:13:00
已经照各位的说明改了,但是问题变成怎么输入数字都会算出1,这次又是什么问题呢?刚刚弄懂了,谢谢各位!

Links booklink

Contact Us: admin [ a t ] ucptt.com