python基礎之遞迴函式

2021-09-02 14:26:13 字數 997 閱讀 3318

在python中我們使用函式經常是去呼叫別的函式,但是遞迴函式不一樣,它是***自己去呼叫自己***,如果不了解遞迴的可以看下電影盜夢空間,相信會對理解遞迴函式有幫助。

遞迴函式的條件有兩個:

1.必須給遞迴函式乙個出口,否則會無限呼叫,耗費記憶體

2.對自己的遞迴條件作大膽假設

下面我們計算數學上經常計算的階乘,階加等演算法

def scale(s):

"""使用遞迴函式來計算階乘,階加等

除了使用遞迴函式,我們也可以使用迭代來進行計算:

def scales(n):

"""使用迭代來進行計算階乘,階加等"""

pass

result = 1

for s in range(2, n+1):

result += s

# result *= s

return result

print(scales(1))

print(scales(10))

print(scales(100))

同樣和遞迴計算的結果一樣

遞迴函式的好處:

1.**比較少

2.**介面整潔

壞處:1.邏輯有點難理解

2.不寫出口時耗費記憶體

當然我們只要能夠計算出結果什麼方式都可以,怎麼簡單怎麼來

Python基礎之遞迴函式

什麼是遞迴函式?遞迴 recursion 1.是乙個函式 2.函式執行的過程中,自己呼叫自己 3.遞迴一定有結束呼叫自己的條件 4.遞迴效率不高 5.什麼問題必須用遞迴?漢諾塔 6.不會死迴圈,有最大遞迴次數限制,會報錯 recursionerror maximum recursion depth ...

筆記 python基礎之遞迴函式

學習要求 能看懂遞迴 能知道遞迴的應用場景 遞迴函式 了解什麼是遞迴 在函式中呼叫自身函式 最大遞迴深度預設是997 998 是python從記憶體角度出發做得限制 while true print 從前有座山 def story print 從前有座山 story print 111 story ...

Python基礎 遞迴函式

通俗一點來說在函式的內部,直接去呼叫其他函式的方式叫做函式的巢狀.但是,如果這個函式呼叫的是自身呢?這個樣子的函式自身就屬於遞迴函式 經典例項 階乘自身就能用遞迴函式來表達出來 1 1 2 2 1 3 3 2 1 n n n 1 2 1以上是簡單直接說明了階乘的表達,接下來至二級用函式來進行直接表達...