測試python最大遞迴層次

2022-02-27 11:20:25 字數 510 閱讀 6739

**:

python預設的最大遞迴層數:

執行環境:windows 7,x64

python環境:python3.7.0b3

def fab(n):

if n == 1:

return 1

else:

return fab(n-1)+ n

print (fab(998))

得到的最大數為998,以後就是報錯了,998這個數值莫名想起廣告詞····

import sys

sys.setrecursionlimit(100000)

def foo(n):

print(n)

n += 1

foo(n)

if __name__ == '__main__':

foo(1)

得到的最大數字在3922-3929之間浮動,這個是和計算機有關係的,將數字調到足夠大了,已經大於系統堆疊,python已經無法支撐到太大的遞迴崩了。

遞迴最大層次999

在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。12 3456 78910 1112 13defcalc n print n ifint n 2 0 returnn returncalc int n 2 calc 10 輸出 10 5 2 1 遞迴特性 1.必須有...

遞迴最大深度

題外話 由於遞迴深度可控,一般寫類似遞迴的方法時盡量使用迭代器,例如fibonacci數列,在python高階中我會把迭代器實現fibonacci數列的方法貼出來,而不是用遞迴。遞迴深度盡量不去修改,用起來也會很繞。下面我貼出來如何測試出本機遞迴深度 def func num if num 1 re...

遞迴降序遍歷層次目錄

關於path alloc函式 include include include include include include function type that is called for each filename typedef int myfunc const char const stru...