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

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

求指教:為什么不能直接return reduce(f, lst, 1) ,必須在外面嵌套一層函數

def?calc_prod(lst):
????????def?f(x,?y):
????????????return?x?*?y
????????return?reduce(f,?lst,?1)




正在回答

3 回答

因為題目要返回一個函數,你return reduce(f, lst, 1)?就變成直接返回一個值了

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

陽關彩虹小白馬

題主的程序除了沒有按照要求返回函數,還有沒有其他錯誤? 我復制了一下,運行不出來
2019-07-10 回復 有任何疑惑可以回復我~
#2

陽關彩虹小白馬

def calc_prod(lst): def f(x, y): return x * y return reduce(f, lst, 1) f = calc_prod([1, 2, 3, 4]) print f()
2019-07-10 回復 有任何疑惑可以回復我~
#3

陽關彩虹小白馬

運行失敗 Traceback (most recent call last): File "index.py", line 6, in print f() TypeError: 'int' object is not callable
2019-07-10 回復 有任何疑惑可以回復我~
#4

愛吃韭菜的白菜 回復 陽關彩虹小白馬

是不是代碼的縮進有問題?
2019-09-03 回復 有任何疑惑可以回復我~
查看1條回復

f()調用的是函數,你把()去掉@白馬

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

嗯嗯,對!

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

舉報

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

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

進入課程

求指教:為什么不能直接return reduce(f, lst, 1) ,必須在外面嵌套一層函數

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

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

幫助反饋 APP下載

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

公眾號

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