python 遞迴函式

2022-08-17 04:36:26 字數 694 閱讀 3751

講遞迴函式,首先要了解的就是,什麼是遞迴

在乙個函式中呼叫自身函式就是遞迴

遞迴如果寫不好,是容易成為死迴圈的,所以python設定的預設遞迴深度是998次,當然也從記憶體方面考慮了,

畢竟遞迴函式是非常占用記憶體的

所以,如果遞迴的次數太多,就不適合使用遞迴來解決

遞迴的優點:會讓**變的簡潔

遞迴的缺點:佔記憶體

def

age(n):

if n == 4:

return 40

elif n > 0 and n < 4:

return age(n+1) +2

print(age(1))

這就是乙個簡單的遞迴函式

定義乙個函式age

當輸出age(1)的時候,呼叫函式age,並給n傳乙個引數1,

繼續向下 判斷n是否等於4,  這時的n是1 不等於4

向下進行另乙個判斷,滿足條件n > 0 and n < 4,繼續向下在返回前 又一次呼叫age(n+1)  也就是age(1+1)  age(2)

這時又進行一次迴圈,不過這次n的引數是2

就這樣,迴圈到n等於4的時候,得到乙個返回值40

這時的age(4)就等於40

這個40再一層一層返回,每次回到呼叫它的地方進行+2再返回

一直到age(1)的時候,得到的返回值是46

python遞迴函式例項 python遞迴函式

python遞迴函式 什麼是遞迴?遞迴,就是在函式執行中自己呼叫自己 示例 def recursion n 定義遞迴函式 print n 列印n recursion n 1 在函式的執行種呼叫遞迴 recursion 1 呼叫函式 這個函式在不斷的自己呼叫自己,每次呼叫n 1,看下執行結果 998t...

python靜態遞迴函式 python遞迴函式

一 遞迴的定義 1.什麼是遞迴 在乙個函式裡在呼叫這個函式本身 2.最大遞迴層數做了乙個限制 997,但是也可以自己限制 1 deffoo 2 print n 3 n 1 4 foo n 5 foo 1 驗證997 3.最大層數限制是python預設的,可以做修改,但是不建議你修改。因為如果用997...

python靜態遞迴函式 python 遞迴函式

前言 本篇關於遞迴基本借鑑下面部落格講解加入自己理解。1.遞迴函式定義 如果乙個函式在函式內部呼叫自己,那這個函式就是遞迴函式。如 defsum arg,stop print arg if arg arg arg sum arg,stop sum 1,20 2.遞迴的特性 1 必須有乙個明確的結束條...