我想更好地理解递归以及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)
我一直在使用可视化Python来检查每一步发生了什么尝试,但是当它击中else语句我迷路。
它看起来像取n的值并减1,创建一个新的n值3,它返回到函数定义。所以它似乎只是返回else语句中第一个函数的值。然而,else语句被写成返回2个函数f(n-1)+ f(n-2)的和,在这种情况下,我认为返回值是5?你甚至可以一起添加2个功能吗?
在此先感谢您的帮助。
下面是可视化的Python Sum of 2 functions
它不增加两个功能,它加入由两个调用一个函数返回的整数。每个调用都是完全独立的,特别是每个调用都有自己的'n'私有值。 – jasonharper