小编Ahn*_*naf的帖子

深度递归 (Python)

检查以下代码:

>>> def fib(x):
...    if x == 0 or x == 1:
...        return 1
...    else: 
...        return fib(x-1) + fib(x-2)
>>> print(fib(4))
Run Code Online (Sandbox Code Playgroud)

根据 SoloLearn Python tutorial (for Recursion) 中的注释,代码是这样工作的:

1. fib(4) = fib(3) + fib(2)
2. = (fib(2) + fib(1)) + (fib(1) + fib(0))
3. = fib(1) + fib(0) + fib(1) + fib(1) + fib(0)
4. = 1+ 1 + 1 + 1 + 1
5. = 5
Run Code Online (Sandbox Code Playgroud)

在第 2 行之后,只fib(2)应该去fib()函数的 else 部分,对吗?这两个 …

python recursion return

2
推荐指数
1
解决办法
117
查看次数

标签 统计

python ×1

recursion ×1

return ×1