python - 如何增加 Python 中的最大递归深度?

标签 python recursion stack-overflow

<分区>

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

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

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

RuntimeError: maximum recursion depth exceeded in comparison

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

最佳答案

import sys

sys.setrecursionlimit(2000)

关于python - 如何增加 Python 中的最大递归深度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757661/

相关文章:

python - 带有 alpha 层的 PNG 图像上的 OpenCV 边缘检测

c++ - 汉诺塔在 C++ 中有 3 个参数,Tower(Disk, from, to)

期中考试时 Java 错误

python - Scipy最小化错误: 'numpy.float64' object is not callable

python 设置类型未排序

java.lang.StackOverflowError 递归目录

Java 使用的内存多于分配的内存

java - 归并排序实现给出了 StackOverflow

python - 动态向类添加属性

python - 在递归数独求解器中传递矩阵