我试图更好地理解递归和return语句的工作原理。因此,我正在查看一段代码,旨在确定与给定项相关联的斐波那契数-在这种情况下是4。我难以理解else语句。
def f(n):
if n == 0:
return 0
if n == 1:
return 1
else:
return f(n-1) + f(n-2)
f(4)
我尝试使用Visualize Python来检查每一步发生了什么,但是碰到else语句时就迷失了。
它似乎是取n的值并减1,创建一个新的n值3,然后将其返回到函数定义中。因此,它似乎只返回else语句中第一个函数的返回值。然而,else语句是写成要返回两个函数f(n-1) + f(n-2)的总和,这种情况下我认为返回值应该是5?你能把两个函数加起来吗?
非常感谢您的帮助。
以下是Visualize Python中的代码链接:两个函数的总和
n
值。 - jasonharper