python實現遞迴函式

2021-10-20 19:37:24 字數 1013 閱讀 7971

什麼是遞迴函式?我們都知道乙個函式的內部可以呼叫其他的函式,如果乙個函式的內部直接或間接的呼叫自身的函式,稱為遞迴函式。每呼叫一次自身,相當於複製乙份該函式,只不過引數有變化。

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

遞迴式函式的兩個要件

遞迴和迴圈類似,基本是可以互相代替的,迴圈編寫起來比較容易,閱讀起來稍難;遞迴編寫起來難,但是方便閱讀。

乙個函式如何呼叫它本身呢?下面我們通過乙個階乘案例來演示遞迴函式的使用。

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 必須有乙個明確的結束條...