Home > Article > Backend Development > How many times can recursion be reached in python?
How many times can recursion be reached in python? Because when running the program, the number of times is sometimes more and sometimes less. I have never thought about this problem before. Then verify it yourself. The code is as follows:
def recursion(n): if(n <= 0): return print n recursion(n - 1) if __name__ == "__main__": recursion(1000)
When I run the above code on my own machine, I find that it can print up to 998, and then the "RuntimeError: maximum recursion depth exceeded" error will be thrown. Hey, there are limits. But then I thought about it, python wouldn't be so weak. After some searching, I found that this is a mechanism specially set up by Python to prevent infinite recursion from causing Python to overflow and crash. The maximum number of recursions can be readjusted. (http://docs.python.org/2/library/sys.html#sys.setrecursionlimit), modify the code as follows:
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)