【发布时间】:2018-10-30 20:36:49
【问题描述】:
这里是使用递归函数的斐波那契数列的 2 个 Python 代码。我想知道这些代码之间的区别以及为什么 code(1) 不工作,而 code(2) 工作没有任何错误?
这不起作用并显示最大递归限制错误:
def f(n):
return f(n-1) + f(n-2)
n=8
f(n)
这是可行的:
def f(n):
if n == 0:
return 0
if n == 1:
return 1
else:
return f(n-1) + f(n-2)
f(4)
【问题讨论】:
-
因为你的递归没有中断条件,它递归到无穷大
-
这样的问题很容易通过自己调试代码来回答 - 在此处阅读:python debugging tips
-
查看这个可爱的debug 博客寻求帮助。
标签: python recursion fibonacci