你差点知道了!这是一个固定的简化版本:
def countup(n):
if n >= 0:
countup(n - 1)
print(n)
注意:
看来编写尾部递归解决方案非常流行:)哦,好吧,这是我的照片,它是@AndyHayden想法的简化且尾部递归的版本- 使用尾部调用优化装饰器配方:
@tail_call_optimized
def countup(N, n=0):
print(n)
if n < N:
countup(N, n + 1)
无论哪种方式,它都能按预期工作:
countup(5)
=> 0
1
2
3
4
5