python3中最大递归调用次数为1000次左右(不同解析器会有所差别但是差距不是特别大),如果递归调用超过1000次就可能会发生运行时错误,这个时候我们可以通过设置最大递归调用次数这样对于调用次数比较大的情况下也可以通过题目,可以使用sys.setrecursionlimit(t),t为最大调用次数。
import sys
def f(n: int):
if n == 1200:return
print(n)
f(n + 1)
if __name__ == '__main__':
# 调用1000次的时候出现运行时错误
f(1)
import sys
sys.setrecursionlimit(1210)
def f(n: int):
if n == 1200: return
print(n)
f(n + 1)
# 设置比1200大一点就不会发生运行时异常
if __name__ == '__main__':
f(1)