python遞迴(一分鐘讀懂)

LuiChun發表於2020-10-29

遞迴:就是自己去引用自己!
遞迴式函式:在函式中自己呼叫自己!
無窮遞迴:如果這個函式被呼叫,程式的記憶體會溢位,效果類似於死迴圈

遞迴是解決問題的一種方式,它和迴圈很像
它的整體思想是,將一個大問題分解為一個個的小問題,直到問題無法分解時,再去解決問題

遞迴式函式的兩個要件
1.基線條件
- 問題可以被分解為的最小問題,當滿足基線條件時,遞迴就不在執行了
2.遞迴條件
- 將問題繼續分解的條件
遞迴和迴圈類似,基本是可以互相代替的
1.迴圈編寫起來比較容易,閱讀起來稍難
2.遞迴編寫起來難,但是方便閱讀

例子:
該函式用來求任意數的階乘
引數:
n 要求階乘的數字

def a(n):
    if n == 1 :        # 基線條件 判斷n是否為1,如果為1則此時不能再繼續遞迴
        return 1       # 1的階乘就是1,直接返回1
    return n * a(n-1)  # 遞迴條件   遞迴式函式:在函式中自己呼叫自己!
print(a(4)) # 4*3*2*1

相關文章