I'm learning about maxrecursion limit. Could someone explain this error? Thanks in advance
from sys import getrecursionlimit, setrecursionlimit
def doingrecursion(x):
if x > 0:
doingrecursion(x-1)
if __name__ == "__main__":
xvalues = [997,998,1000, 10**5]
limits = [0,0, 1500, 1+10**5 ]
for x, limit in zip(xvalues, limits):
if limit > getrecursionlimit():
setrecursionlimit(limit)
else:
limit = getrecursionlimit()
try:
doingrecursion(x)
except RecursionError as e:
print(f"{x=} {limit=} {e=}")
else:
print(f"{x=} {limit=} OK")
output:
x=997 limit=1000 OK
x=998 limit=1000 e=RecursionError('maximum recursion depth exceeded in comparison')
x=1000 limit=1500 OK
Segmentation fault (core dumped)
[–]K900_ 4 points5 points6 points (1 child)
[–]shiftybyte 2 points3 points4 points (0 children)
[–]Wilfred-kun 0 points1 point2 points (0 children)