我正在尝试传入 lambda。
def summation(n, term):
if (n == 0):
return
else:
return summation(n - 1, term) + term
print(summation(5, lambda x: x + 1))
据我了解,lambda x : x + 1
将变为 term
而 term
将计算为 n + 1
在函数中,但这不起作用。谁能给我解释一下?
最佳答案
lambda
是一个函数。所以 term
是一个函数。如果您希望 term
的计算结果为 n + 1
,您必须使用 n
调用它:term(n)
。
你还有另一个问题,你有一个空的return
,它会自动变成return None
。您是说 return 0
吗?
关于python - 通过递归传递 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58016864/