python3遞迴(學習轉)

2021-10-23 14:49:40 字數 504 閱讀 7451

學習了一下python3 的遞迴,這個東西還真是討厭,而且不迷有那麼多毛病。但不迷是要學會。下面是一些遞迴的關鍵部分,總結一下。

遞迴,就是函式在執行的過程中呼叫自己。

遞迴幾個特點:

1.必須有乙個明確的結束條件,要不就會變成死迴圈了,最終撐爆系統

2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少

3.遞迴執行效率不高,遞迴層次過多會導致棧溢位

用途:遞迴效率不高,因為每遞迴一次,就多了一層棧,遞迴次數太多還會導致棧溢位,這也是為什麼python會預設限制遞迴次數的原因。但有一種方式是可以實現遞迴過程中不產生多層棧的,即尾遞迴

尾遞迴在函式最尾部有return,return值是遞迴形式呼叫,且返回值與上一層函式無任何依賴。

例子:def calc(n):

print(n - 1)

if n > -50:

return calc(n-1)

如上內容總結自:

對原作者表示感謝,講的比較透徹。

python3學習(七) 遞迴

遞迴 函式自己呼叫自己。效率低於迴圈。deftest1 num int input 請輸入乙個數字 if num 2 0 判斷是否是偶數 return true 如果是偶數,程式就退出 print 不是偶數請重新輸入 return test1 如果不是偶數的話繼續呼叫自己 print test1 呼...

Python3 遞迴函式

1.必須有乙個明確的結束條件 2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少 3.遞迴效率不高,遞迴層次過多會導致棧溢位 在計算機中,函式呼叫是通過棧 stack 這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,...

Python3 遞迴函式

在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。def calc n print n if int n 2 0 return n return calc int n 2 calc 10 輸出 105 21遞迴特性 1.必須有乙個明確的結束條件,最多遞迴999次 2...