[問題] 程式求救

看板Python作者 (暮夜嵐鋒)時間7年前 (2018/03/26 11:26), 編輯推噓4(407)
留言11則, 5人參與, 7年前最新討論串1/4 (看更多)
版上的各位前輩大家好 小弟剛剛入門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://www.ptt.cc/bbs/Python/M.1522034800.A.672.html

03/26 11:29, 7年前 , 1F
為什麼return 是n,而不是算出來的結果?
03/26 11:29, 1F

03/26 11:31, 7年前 , 2F
建議你變數不要取跟function一樣,可能會有問題
03/26 11:31, 2F

03/26 11:31, 7年前 , 3F
我也是新手,如有錯誤請指正
03/26 11:31, 3F

03/26 11:35, 7年前 , 4F
因為編譯器以為sum是變數 而不是函式
03/26 11:35, 4F

03/26 11:36, 7年前 , 5F
才會說float object 不可被呼叫
03/26 11:36, 5F

03/26 11:36, 7年前 , 6F
解決方法同一樓
03/26 11:36, 6F

03/26 12:12, 7年前 , 7F
sum()是built-in function 換個名字吧
03/26 12:12, 7F

03/26 12:43, 7年前 , 8F
function改成my_sum吧...
03/26 12:43, 8F

03/26 15:13, 7年前 , 9F
已經照各位的說明改了,但是問題變成怎麼輸入數字都會
03/26 15:13, 9F

03/26 15:13, 7年前 , 10F
算出1,這次又是甚麼問題呢?
03/26 15:13, 10F

03/26 15:16, 7年前 , 11F
剛剛弄懂了,謝謝各位!
03/26 15:16, 11F
文章代碼(AID): #1Qk6XmPo (Python)
討論串 (同標題文章)
文章代碼(AID): #1Qk6XmPo (Python)