Skip to main content
 首页 » 编程设计

python之通过递归传递 lambda

2025年05月04日14dyllove98

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