Python中的最大递归深度是多少,以及如何增加它?

Python中的最大递归深度是多少,以及如何增加它?

这里有一个尾递归函数:

def fib(n, sum):
    if n < 1:
        return sum    else:
        return fib(n-1, sum+n)c = 998print(fib(c, 0))

它工作到n=997,然后就会中断并吐出一个“相对地超过最大递归深度”。RuntimeError。这只是堆栈溢出吗?有办法绕过它吗?


慕妹3242003
浏览 1760回答 4
4回答

侃侃无极

看起来你只需要设置一个更高的递归深度sys.setrecursionlimit(1500)

智慧大石

使用一种保证尾部优化的语言。或者使用迭代。或者,找个可爱的装饰师.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python