函數(shù)遞歸

函數(shù)遞歸

1.遞歸的定義

函數(shù)的遞歸調(diào)用:是函數(shù)嵌套調(diào)用的一種特殊形式

函數(shù)的遞歸調(diào)用指的是在調(diào)用一個函數(shù)的過程中又直接或間接地調(diào)用該函數(shù)本身

例:直接調(diào)用函數(shù)f1本身

def f1():
    print('from f1')
    f1()
f1()

例:間接調(diào)用函數(shù)f1本身

def f1():
    print('from f1')
    f2()

def f2():
    print('from f2')
    f1()
f1()

例:一段代碼循環(huán)的方式

#方式1:while,for循環(huán)
while True:
    print('好好學(xué)習(xí)')
#方式2:遞歸的本質(zhì)就是循環(huán)
def f():
    print('好好學(xué)習(xí)')
    f()
f()

遞歸調(diào)用都是一個無限循環(huán)的過程

強調(diào):遞歸調(diào)用不應(yīng)該無限循環(huán)相叁, 必須讓遞歸調(diào)用在滿足某個特定條件下終止

x=0
while x<10:
    print(x)
    x+=1

def f1(n):
    if n == 10:
        return
    print(n)
    n+=1
    f1(n)
f1(0)

2.遞歸的兩個階段

回溯:一層一層調(diào)用下去

遞推:滿足某種結(jié)束條件,結(jié)束遞歸調(diào)用,然后一層一層返回

age(5) = age(4) + 10
age(4) = age(3) + 10
age(3) = age(2) + 10
age(2) = age(1) + 10
age(1) = 18

def age(n):
    if n == 1:
        return 18
    return age(n-1) + 10
res=age(5)
print(res)

3.遞歸的應(yīng)用

l=[1,2,[3,4]]
for x in l:
    if type(x) is list:
        for a in x:
            print(a)
    else:
        print(x)


l=[1,2,[3,4],6,7,[8,9,10,[11,12,[13,[14,15]]]]]
def f1(list1):
    for x in list1:
        if type(x) is list:
            # 如果是列表翁潘,應(yīng)該再循環(huán)、再判斷,即重新運行本身的代碼
            f1(x)
        else:
            print(x)
f1(l)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烂瘫,更是在濱河造成了極大的恐慌精盅,老刑警劉巖帽哑,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叹俏,居然都是意外死亡妻枕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門粘驰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屡谐,“玉大人,你說我怎么就攤上這事蝌数°堤停” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵顶伞,是天一觀的道長饵撑。 經(jīng)常有香客問我,道長唆貌,這世上最難降的妖魔是什么滑潘? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮锨咙,結(jié)果婚禮上语卤,老公的妹妹穿的比我還像新娘。我一直安慰自己酪刀,他們只是感情好粹舵,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著骂倘,像睡著了一般眼滤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稠茂,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天柠偶,我揣著相機與錄音,去河邊找鬼睬关。 笑死诱担,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的电爹。 我是一名探鬼主播蔫仙,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丐箩!你這毒婦竟也來了摇邦?” 一聲冷哼從身側(cè)響起恤煞,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎施籍,沒想到半個月后居扒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡丑慎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年喜喂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竿裂。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡玉吁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腻异,到底是詐尸還是另有隱情进副,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布悔常,位于F島的核電站影斑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏这嚣。R本人自食惡果不足惜鸥昏,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姐帚。 院中可真熱鬧,春花似錦障涯、人聲如沸罐旗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽九秀。三九已至,卻和暖如春粘我,著一層夾襖步出監(jiān)牢的瞬間鼓蜒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工征字, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留都弹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓匙姜,卻偏偏與公主長得像畅厢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子氮昧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容