亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有兩段代碼不知道哪里不一樣,報錯為int' object is not callable

def b(list1):

? ? sum=1

? ? for i in list1:

? ? ? ? sum=sum*i

? ? return sum

def calc_prod(lst):

? ? def fun():

? ? ? ? return b(lst)

? ? return fun()

f = calc_prod([1, 2, 3, 4])

print f()


正在回答

3 回答

return fun() ==> return fun

1 回復 有任何疑惑可以回復我~

代碼好難理解,

0 回復 有任何疑惑可以回復我~

樓上說得對。

按照你寫的,calc_prod函數執行完之后返回了fun(),也就是f=fun(),那最后一行的f()就代表fun()(),就錯了。

要想最后一行的f()可以當做fun()被調用,f就應該等于fun,所以return fun()改成return fun就可以啦。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

有兩段代碼不知道哪里不一樣,報錯為int' object is not callable

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號