Python中递归的最大次数
2013-04-09 10:22
113 查看
昨天在逛豆瓣的时候,看到一个同学问递归最多达到多少次,因为在他跑的时候,次数有时多有时少,以前没有想过这个问题。那就自己动手在验证验证, 代码如下:
当在我自己的机器运行以上代码时,发现最多能打印到998,然后就会抛出 “RuntimeError: maximum recursion depth exceeded” 的错误了。 嘿,还真有限制。但转念一想,python不会这么弱吧。经过一番查找,发现这是python专门设置的一种机制用来防止无限递归造成Python溢出崩溃, 最大递归次数是可以重新调整的。 (http://docs.python.org/2/library/sys.html#sys.setrecursionlimit),修改代码如下:
再次运行,顺利通过!!!
def recursion(n): if(n <= 0): return print n recursion(n - 1) if __name__ == "__main__": recursion(1000)
当在我自己的机器运行以上代码时,发现最多能打印到998,然后就会抛出 “RuntimeError: maximum recursion depth exceeded” 的错误了。 嘿,还真有限制。但转念一想,python不会这么弱吧。经过一番查找,发现这是python专门设置的一种机制用来防止无限递归造成Python溢出崩溃, 最大递归次数是可以重新调整的。 (http://docs.python.org/2/library/sys.html#sys.setrecursionlimit),修改代码如下:
import sys sys.setrecursionlimit(1500) # set the maximum depth as 1500 def recursion(n): if(n <= 0): return print n recursion(n - 1) if __name__ == "__main__": recursion(1200)
再次运行,顺利通过!!!
相关文章推荐
- Python中递归的最大次数
- python 最大递归次数 RuntimeError: maximum recursion depth exceeded
- 修改Python中递归的最大次数
- 用递归的方法算出给定字符串的最大连续重复字符的重复次数
- python基础----递归函数(二分法、最大深度递归)
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- 关于Python中递归次数
- matplotlib画图异常--超出最大递归次数解决办法
- Python 阶乘的实现和递归的最大深度
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- 当python超出默认递归次数RecursionError: maximum recursion depth exceeded in comparison
- python 列表递归求和、计数、求最大元素
- 【Python】求数组(list)中最大的X个数,不递归,尽可能减少代码量
- 迭代和递归(Python)--乘方、最大公约数、汉诺塔、斐波那契、回文字符串
- Python RuntimeError: maximum recursion depth exceeded in cmp 超过最大递归深度错误
- python递归次数和堆栈溢出问题
- python 中的最大递归层数
- Python的最大递归深度错误 “maximum recursion depth exceeded while calling a Python object”
- Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
- python递归分治求最大子数组失败