小编pro*_*ity的帖子

Python函数返回循环

好的,所以这段代码来自我学校的练习题.我们要在心理上解析代码并检查答案.

当我第一次解析它时,我得到了4.我复制了代码并通过IDLE运行它得到8.我运行调试器并看到else:return循环if else语句x == 0,然后返回1.

我不明白返回1是如何出现在8.

def foo(x=5):
    if x == 0:
        return 1
    else:
        return 2*foo(x-1)

print(foo(3))
Run Code Online (Sandbox Code Playgroud)

据我所知,它正在调用foo(x-1)函数内部,foo(x=5)这使得它一次又一次地检查是否会再次x == 0返回1.返回1如何最终打印8?

python recursion

10
推荐指数
2
解决办法
858
查看次数

标签 统计

python ×1

recursion ×1