今天写了一个Python脚本,运行过后发现提示RecursionError: maximum recursion depth exceeded
查询过相关文档和资料后才发现了问题原因,python的递归深度是有限制的,默认为1000。当递归深度超过1000时,就会报错。
解决方法直接修改Python的默认递归深度
import sys
sys.setrecursionlimit(10**5) # 设置递归最大深度 10的5次方
递归是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。使用递归解决问题,思路清晰,代码少。
扩展资料:
递归,就是在运行的过程中调用自己。
构成递归需具备的条件:
- 子问题须与原始问题为同样的事,且更为简单;
- 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。
参考:https://www.wj0511.com/site/detail.html?id=153
https://zhidao.baidu.com/question/328134112975653325.html
https://blog.csdn.net/king921004/article/details/80841393