為什么直接return就用不了了
def count():
? ? fs = []
? ? for i in range(1, 4):
? ? ? ? def f(j):
? ? ? ? ? ? return j*j
? ? ? ? r = f(i)
? ? ? ? fs.append(r)
? ? return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
少一個延遲計算為什么就得不出答案?不也是return j*j 嗎
def count():
? ? fs = []
? ? for i in range(1, 4):
? ? ? ? def f(j):
? ? ? ? ? ? return j*j
? ? ? ? r = f(i)
? ? ? ? fs.append(r)
? ? return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
少一個延遲計算為什么就得不出答案?不也是return j*j 嗎
2020-01-08
舉報
2020-02-01
這個也是可以的,不過由于它print的是f1(),f2(),f3(),這就要求你一定要用內層函數了,因為它輸出的是內層函數的值。你試一下把輸出的print f1(), f2(), f3(),刪掉括號,它就可以輸出了。
?做完題多看下問答哈,我記得上一章的問答有對這個進行解釋的
2020-01-19
很顯然,r 是 f(i) 執行后的返回結果,而 f(i) 返回的是一個數,而并非函數。而數是無法被調用的,報“TypeError: 'int' object is not callable”是理所應當的