看到一个同学问递归最多达到多少次,因为在他跑的时候,次数有时多有时少,以前没有想过这个问题。那就自己动手在验证验证, 代码如下:
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溢出崩溃, 最大递归次数是可以重新调整的。 参考官方
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递归算法的定义与使用技巧,需要的朋友可以参考下
主要介绍了Python基于递归和非递归算法求两个数最大公约数、最小公倍数,涉及Python递归算法、流程循环控制进行数值运算相关操作技巧,需要的朋友可以参考下
使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。 使用步骤: ...目的:帮助理解递归函数在Python中的具体使用。
Python 递归函数 如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里,递归函数不需要任何特殊的语法,但是它需要...
此程序是爬虫实例
递归函数的定义 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个...由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。 实例:定义一个递归函数,来求指定数字的阶乘,并输出结果。
在Python中,递归算法可以使用函数来实现。 递归算法的基本思想是将一个大问题分解成若干个小问题,然后递归地解决这些小问题,最终将它们合并成一个解决方案。递归算法通常使用递归函数来实现,递归函数是一种可以...
本篇文章主要介绍了python使用递归、尾递归、循环三种方式实现斐波那契数列,非常具有实用价值,需要的朋友可以参考下
python非递归方式计算阶乘(循环)
1、递归的特点 递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是...(4)在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多容易造成栈溢出等。
手动输入一个字符串,Python用递归实现字符串反转
python文件递归拷贝
本文实例讲述了python递归计算N!的方法。分享给大家供大家参考。具体实现方法如下: def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) 希望本文所述对大家的Python程序设计有所帮助...
# 题目: # 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
汉诺塔python 汉诺塔python代码递归