i=900
def a():
global i
i-=1
s="我写这个函数是因为想到了些问题,例如之前写的递归函数,都是在函数中间,调用自身,获取数值,而这个函数,我其实是为了方便,如果遇到一个问题,就改变运行参数,于是需要重新调用这个函数,在新的参属下。其实这个用goto很爽,但是一方面是没有学到,另一方面goto貌似是个邪道,于是想尝试自己解决下。但即便是最后一句,使用的是return,那也算是递归?也就是说,调用新的一次函数的同时,当前函数没有被释放吗?"
if i==0:
input()
return
return a()
a()
4812KB内存占用,添加了S后,4896
问题一,递归深度限制
import sys
sys.setrecursionlimit(100000) #例如这里设置为十万
解决报错RecursionError: maximum recursion depth exceeded in comparison
我写这个函数是因为想到了些问题,例如之前写的递归函数,都是在函数中间,调用自身,获取数值,而这个函数,我其实是为了方便,如果遇到一个问题,就改变运行参数,于是需要重新调用这个函数,在新的参属下。其实这个用goto很爽,但是一方面是没有学到,另一方面goto貌似是个邪道,于是想尝试自己解决下。但即便是最后一句,使用的是return,那也算是递归?也就是说,调用新的一次函数的同时,当前函数没有被释放吗ÿ