我是编程和学习Python的新手。我遇到了递归并了解了这段代码:'''def rec_count(n): print(n) #Base case if n == 0: return 0 rec_count(n-1) # a recursive call print(n)'''在调用“rec_count(2)”时,我得到以下输出 2 1 0 1 2我期望输出为 2-1-0-0-1-2。因为,当 n 变为 0 时,该函数将首先打印 0,然后由于满足 n==0 条件而再次返回 0。但为什么它不打印两次 0 呢?
1 回答
![?](http://img1.sycdn.imooc.com/545869510001a20b02200220-100-100.jpg)
三国纷争
TA贡献1804条经验 获得超7个赞
你可以写成如下
def rec_count(n):
print(n)
if n == 0:
print(n)
return 0
rec_count(n-1)
print(n)
称呼:
rec_count(2)
输出:
2
1
0
0
1
2
添加回答
举报
0/150
提交
取消