[問題] 程式求救

作者: 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