最近在做python函式練習的時候出現了乙個問題,遞迴超過997時python直譯器會報錯,具體**如下:
def fact(n):
if n == 0:
return 1
else:
return n * fact(n-1)
print(fact(998))
報錯截圖:
修改後問題解決,setrecursionlimit的引數可以根據實際情況自行設定乙個合理的值。
sys.setrecursionlimit(100000)
Python的遞迴深度
runtimeerror maximum recursion depth exceeded while calling a python object 大意是呼叫 python 物件時超出最大深度限制 python語言預設的遞迴深度是很有限的,當遞迴深度超過值的時候,就會引發runtimeerror...
python 中關於遞迴函式的理解
def digui n if n 1 設定乙個出口用於當條件滿足時結束,避免死迴圈 return 1 else result n digui n 1 print digui 5 結果是5 digui 4 5 4 digui 3 5 4 3 digui 2 5 4 3 2 digui 1 120 當n...
Python 深度遞迴異常
python超出遞迴深度時會出現異常 runtimeerror maximum recursion depth exceeded 查閱資料後發現python預設的遞迴深度是很有限的,應該是998 至於為什麼是998,自行體會 當遞迴深度超過這個值的時候,就會引發這樣的乙個異常。解決的方式是手工設定遞...