什麼是遞迴函式?我們都知道乙個函式的內部可以呼叫其他的函式,如果乙個函式的內部直接或間接的呼叫自身的函式,稱為遞迴函式。每呼叫一次自身,相當於複製乙份該函式,只不過引數有變化。
遞迴和迴圈很像。它的整體思想是,將乙個大問題分解為乙個個的小問題,直到問題無法分解時,再去解決問題。
遞迴式函式的兩個要件
遞迴和迴圈類似,基本是可以互相代替的,迴圈編寫起來比較容易,閱讀起來稍難;遞迴編寫起來難,但是方便閱讀。
乙個函式如何呼叫它本身呢?下面我們通過乙個階乘案例來演示遞迴函式的使用。
n! =1 * 2 * 3 * 4 * …. * n
則遞迴函式**:
def
recursive
(number)
:#結束條件:判斷n是否為1,如果為1則此時不能再繼續遞迴,遞迴結束
if number ==1:
#1的階乘就是1,直接返回。
return
1#遞迴條件
return recursive(number -1)
* number
if __name__ ==
"__main__"
:print
("{}! = {}"
.format(5
,recursive(5)
))
輸出為:
5! =
120
遞迴函式呼叫過程如下:
第一次呼叫: recursive(5) = recursive(4) * 5
第二次呼叫: recursive(5) = recursive(3) * 4 * 5
第三次呼叫: recursive(5) = recursive(2) * 3 * 4 * 5
第四次呼叫: recursive(5) = recursive(1) * 2 * 3 * 4 * 5
第五次呼叫: recursive(5) = 1 * 2 * 3 * 4 * 5
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 必須有乙個明確的結束條...