您能解释一下为什么 countDown(5) 函数会输出 0 到 5 的结果吗?也就是怎么到值0是可以理解的,但是值1、2、3、4、5是从哪里来的???
def countDown(start):
if start <= 0:
print(start)
else:
countDown(start - 1)
print(start)
由于什么是开始新值的分配?
您能解释一下为什么 countDown(5) 函数会输出 0 到 5 的结果吗?也就是怎么到值0是可以理解的,但是值1、2、3、4、5是从哪里来的???
def countDown(start):
if start <= 0:
print(start)
else:
countDown(start - 1)
print(start)
由于什么是开始新值的分配?
看:
当你运行一个递归函数时,只要调用它,它就会“落入”自身(
[1]
)。您有一个
[2]
限制函数调用的条件 ( )。[1]
最重要的是 - 您的函数在显示值之前会落入自身 ( ) 中start
。这意味着:
start
变为0
并打印值start
0
)开始,然后是输出start
编码:
我认为如果我添加一点日志记录会更清楚:
安慰:
这是在一个社区中给我的或多或少的好答案。我正在重新发布以防其他人正在寻找同一问题的答案: