我写了这个小片段来计算斐波纳契数.它适用于高达996的数字,从997开始追溯.我无法弄清楚问题是什么.它与maximum_recursion_count有关吗?
def fib(n):
if n==0:
return 0
elif n==1:
return 1
else:
return fib(n-1)+n
Run Code Online (Sandbox Code Playgroud)
大概.看看sys.getrecursionlimit().默认值为1000,听起来它可能导致您遇到的问题:一旦堆栈上有1000帧(即略少于1000个递归函数调用),您将在下一个函数上出错呼叫.
您可以使用递增限制设置为更大的值sys.setrecursionlimit,但是存在一个与平台相关的最大值(这意味着您可能必须通过试验和错误来确定它是什么).
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |