為什么代碼不能改成這樣?報錯如何解決?
我不知道在f里定義g的意義是什么,我覺得可以直接在f里使用x*x,只需要在r=f()那里調用一次f即可。所以改成:
def count2():
? ? fs=[]
? ? for i in range(1,4):
? ? ? ? def f():
? ? ? ? ? ? return i*i
? ? ? ? r=f()
? ? ? ? fs.append(r)
? ? return fs
? ??
f1,f2,f3=count2()
print f1(),f2(),f3()
不知道這種模式可以與否,那么為什么會一直報錯:
TypeError: 'int' object is not callable
2018-10-08
函數在三次循環后 是f3()并不是 f1 2 3 循環相當于只執行了最后一次
2018-12-18
這樣是可以的,不過你r=f()這里已經調用了函數所以r不是函數而是值所以f1 f2 f3都是值
把最后的print f1(),f2(),f3()后面的括號去了就行了不用在調用了