项目中涉及到的两行代码:
import sys
sys.setrecursionlimit(40000) #设置最大递归次数为40000
分析:
先看个简单的递归函数:
def recursion(n):
print(n)
n += 1
recursion(n)
recursion(1)
若不设置的话,只能打印到996-998,就报错:RecursionError: maximum recursion depth exceeded in comparison
见下图:
如果998的递归深度不能满足要求,就得加句代码:
sys.setrecursionlimit(40000)
不过括号里最大也大约只能填40000,是因为python支持的最大递归也就约3998,就是填1000000,也是只能递归到3998
这是python专门设置的一种机制用来防止无限递归造成Python溢出崩溃, 最大递归次数是可以重新调整的。