Python遞歸報錯:RuntimeError: maximum recursion depth exceeded in comparison


Python中默認的最大遞歸深度是989,當嘗試遞歸第990時便出現遞歸深度超限的錯誤:

RuntimeError: maximum recursion depth exceeded in comparison

 

簡單方法是使用階乘重現:

1 #!/usr/bin/env Python
2 
3 def factorial(n):
4     if n == 0 or n == 1:
5         return 1
6     else:
7         return(n * factorial(n - 1))    

>>> factorial(989)

...

>>>factorial(990)

...

RuntimeError: maximum recursion depth exceeded in comparison

 

解決方案:

可以手動設置遞歸調用深度:

>>> import sys
>>> sys.setrecursionlimit(10000000)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM