【问题标题】:How could you increase the maximum recursion depth in Python? [duplicate]如何增加 Python 中的最大递归深度? [复制]
【发布时间】:2016-02-18 20:47:59
【问题描述】:

今天课堂上递归和堆栈溢出的有趣话题,我想知道是否有任何方法可以增加 Python 中的最大递归深度?写了一个使用递归查找 n 阶乘的快速函数:

def factorial(n):
    if n == 1:
        return n
    else:
        return n * factorial(n-1)

它可以处理阶乘(994),但不能处理阶乘(995)。给出的错误是:

RuntimeError: maximum recursion depth exceeded in comparison

显然可以迭代找到更高的阶乘,但是为了争论和阴谋,最大递归深度可以增加吗?

【问题讨论】:

标签: python recursion stack-overflow


【解决方案1】:
import sys

sys.setrecursionlimit(2000)

【讨论】:

    【解决方案2】:
    import sys
    
    iMaxStackSize = 5000
    sys.setrecursionlimit(iMaxStackSize)
    

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      相关资源
      最近更新 更多