我正在尝试返回一个函数,但是它不起作用:
def to_power(x): # x = 3
def calc_power(num): # num = 2
return num**x # 2**3 = 8
return calc_power()
cube = to_power(3)
print(cube(5))
我的代码给我这个错误:
TypeError:calc_power()缺少1个必需的位置参数:“ num”
但是,我很确定我确实提出了一个论点:
cube = to_power(3)
print(cube(5)) # arg = 5
答案 0 :(得分:2)
您将不返回该函数,仅返回该返回值(由于缺少参数,该值甚至不会进行计算)。摆脱括号:
def to_power(x): # x = 3
def calc_power(num):
return num**x
return calc_power
现在,如果您剩下的话:
cube = to_power(3)
print(cube(5))
您会得到
125