關於Python函式遞迴深度的問題

2021-08-14 02:11:32 字數 601 閱讀 6376

最近在做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,自行體會 當遞迴深度超過這個值的時候,就會引發這樣的乙個異常。解決的方式是手工設定遞...