Heim > Artikel > Backend-Entwicklung > Wie oft kann eine Rekursion in Python erreicht werden?
Wie oft kann eine Rekursion in Python erreicht werden? Denn wenn das Programm ausgeführt wird, ist die Häufigkeit mal mehr, mal weniger. Über dieses Problem habe ich noch nie nachgedacht. Dann überprüfen Sie es selbst. Der Code lautet wie folgt:
def recursion(n): if(n <= 0): return print n recursion(n - 1) if __name__ == "__main__": recursion(1000)
Wenn ich den obigen Code auf meinem eigenen Computer ausführe, stelle ich fest, dass er bis zu 998 drucken kann, und dann wird „ „RuntimeError: Maximale Rekursionstiefe überschritten“-Fehler. Hey, es gibt Grenzen. Aber dann dachte ich darüber nach, Python wäre nicht so schwach. Nach einigem Suchen habe ich herausgefunden, dass dies ein von Python speziell eingerichteter Mechanismus ist, um zu verhindern, dass eine unendliche Rekursion zu einem Überlauf und Absturz von Python führt. Die maximale Anzahl von Rekursionen kann neu angepasst werden. (http://docs.python.org/2/library/sys.html#sys.setrecursionlimit), ändern Sie den Code wie folgt:
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)