溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣使用Python遞歸函數(shù)中的遞推

發(fā)布時(shí)間:2020-11-09 09:21:19 來源:億速云 閱讀:269 作者:小新 欄目:編程語言

小編給大家分享一下怎樣使用Python遞歸函數(shù)中的遞推,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

 遞歸是什么?

是指函數(shù)/過程/子程序在運(yùn)行過程序中直接或間接調(diào)用自身而產(chǎn)生的重入現(xiàn)象。

下面是個(gè)人理解:遞歸就是在函數(shù)內(nèi)部調(diào)用自己的函數(shù)被稱之為遞歸。 

實(shí)例:

#直接調(diào)用自己:def func: print('from func') func
Func
 
#間接調(diào)用自己def foo: print('from foo') bar
def bar: print('from bar') foo
Foo
 
#遞歸的實(shí)現(xiàn):def age(n): if n == 1: return 18 return age(n-1)+2
print(age(5))
# age(5)=age(4)+2 第一次進(jìn)入# age(4)=age(3)+2 第二次進(jìn)入# age(3)=age(2)+2 第三次進(jìn)入# age(2)=age(1)+2 第四次進(jìn)入# age(1)=18 第五次進(jìn)入,最后判斷終止條件
# age(n)=age(n-1)+2 #n>1 遞歸終止條件# age(1)=18 #n=1 等于終止條件

遞歸的回溯與遞推

遞推:像上邊遞歸實(shí)現(xiàn)所拆解,遞歸每一次都是基于上一次進(jìn)行下一次的執(zhí)行,這叫遞推。回溯:則是在遇到終止條件,則從最后往回返一級(jí)一級(jí)的把值返回來,這叫回溯。

# 實(shí)例l =[1, 2, [3, [4, 5, 6, [7, 8, [9, 10, [11, 12, 13, [14, 15,[16,[17,]],19]]]]]]]
def search(l): for item in l: if type(item) is list: search(item) else: print(item)
search(l)

看完了這篇文章,相信你對(duì)怎樣使用Python遞歸函數(shù)中的遞推有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI