def count():
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))#这样f()应该也算可以被立刻计算吧
return fs
f1, f2, f3 = count()
f1()
为什么我这样写,会出现
Traceback (most recent call last):
File "input.py", line 14, in <module
TypeError: 'int' object is not callabl
这样是错误,网上查这种错误是关键词重复了,但是我f(),应该是同一样东西啊,为什么系统会报错。
这么写 返回的不是 计算函数了 直接就是个集合了
你这样写
那后面的 f(i)返回的是一个值,不是一个函数,所以不用写调用函数f1(),而是直接写f1,运行就会得到1,写f2,就得到4这样了。
f1是数值,不是函数了,把f1()改成f1应该就可以了
返回的是一个int数据类型,已经不是函数了,不能调用,直接输出print(f1, f2, f3)
或者直接f1 = count()返回一个list,然后直接输出print(f1)
Sign in to make a reply
作业写到哭XX
def count():
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))#这样f()应该也算可以被立刻计算吧
return fs
f1, f2, f3 = count()
f1()
为什么我这样写,会出现
Traceback (most recent call last):
File "input.py", line 14, in <module
f1()
TypeError: 'int' object is not callabl
这样是错误,网上查这种错误是关键词重复了,但是我f(),应该是同一样东西啊,为什么系统会报错。