在迭代循环中,我试图将cube()作为参数之一传递给另一个函数sum(),但是在第二次迭代sum()值中获取错误是返回NoneType数据类型而不是int数据类型甚至在类型转换函数值之后。
代码:
def main():
print(sum1(cube, 1, 3))
def cube(x:int) ->int :
return(x*x*x)
def sum1(f:int ,a,b) -> int :
if a>b : 0
else :
f(a) + sum1(f, a+1, b)
if __name__ == '__main__' : main()
我得到的错误是:
TypeError:+:' int'不支持的操作数类型和' NoneType'
答案 0 :(得分:0)
您错过了return
函数中的sum1
声明。
def sum1(f: int, a, b) -> int:
if a > b:
return 0
else:
return f(a) + sum1(f, a+1, b)