您好,登錄后才能下訂單哦!
小編給大家分享一下怎樣使用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è)資訊頻道,感謝各位的閱讀!
免責(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)容。