我正在尝试传入 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 吗?
