27函數(shù)---遞歸函數(shù)

函數(shù)的遞歸

函數(shù)調(diào)用自身的 編程技巧 稱為遞歸

特點

  • 函數(shù) 內(nèi)部 調(diào)用自己
    • 函數(shù)內(nèi)部可以調(diào)用其他函數(shù),當然在函數(shù)內(nèi)部也可以調(diào)用自己

代碼特點

  1. 函數(shù)內(nèi)部的 代碼 是相同的步淹,只是針對 參數(shù) 不同从隆,處理的結(jié)果不同
  2. 參數(shù)滿足一個條件 時,函數(shù)不再執(zhí)行
    • 這個非常重要缭裆,通常被稱為遞歸的出口键闺,否則 會出現(xiàn)死循環(huán)

示例代碼:

函數(shù)調(diào)用本身

def f(x):
    if x > 1:
        y = 5 * x + 6
        # 函數(shù)作為返回值
        return y + f(x - 1)

    y = 5 * x + 6
    # return 關(guān)鍵字 返回一個內(nèi)容
    return y


print(f(5))

斐波那契數(shù)列

斐波那契數(shù)列(Fibonacci sequence)澈驼,又稱黃金分割數(shù)列辛燥、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”缝其,指的是這樣一個數(shù)列:1挎塌、1、2内边、3榴都、5、8漠其、13嘴高、21、34和屎、……在數(shù)學(xué)上拴驮,斐波納契數(shù)列以如下被以遞推的 方法定義:F(1)=1,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)(n>=3柴信,n∈N* 每一位數(shù)都等于前兩位數(shù)之和莹汤,在現(xiàn)代物理、準晶體結(jié)構(gòu)颠印、化學(xué)等領(lǐng)域,斐波納契數(shù)列都有直接的應(yīng)用抹竹。

  1. 定義一個函數(shù) fib
  2. 能夠接收一個 num 的整數(shù)參數(shù)
  3. 計算 1 + 1 + 2 + 3 + 5 + 8 ... num 的結(jié)果

第N個數(shù)是多少

def fib1():
    return 1

def fib2():
    return 1

def fib3():
    return fib1() + fib2()

def fib4():
    return fib3() + fib2()

def fib5():
    return fib4() + fib3()

print(fib5())


# 從第三個月開始算
def fib(x):
    if x == 2 or x == 1:
        return 1

    return fib(x-1) + fib(x-2)

print(fib(4))
def fic(n):
    if n == 1 or n == 2:
        return n
    elif n >= 3:
        return fic(n - 1) + fic(n - 2)
    else:
        return -1

print(fic(5))
Snipaste_2019-03-27_20-46-15.png

N階樓梯上樓問題:一次可以走兩階或一階线罕,問有多少種上樓方式?

def fic(n):
    if n == 1 or n == 2:
        return n
    elif n >= 3:
        return fic(n - 1) + fic(n - 2)
    else:
        return -1

print(fic(5))

提示:遞歸是一個 編程技巧窃判,初次接觸遞歸會感覺有些吃力钞楼!在處理 不確定的循環(huán)條件時,格外的有用袄琳,例如:遍歷整個文件目錄的結(jié)構(gòu)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末询件,一起剝皮案震驚了整個濱河市燃乍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宛琅,老刑警劉巖刻蟹,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嘿辟,居然都是意外死亡舆瘪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門红伦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來英古,“玉大人,你說我怎么就攤上這事昙读≌俚鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵蛮浑,是天一觀的道長唠叛。 經(jīng)常有香客問我,道長陵吸,這世上最難降的妖魔是什么玻墅? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮壮虫,結(jié)果婚禮上澳厢,老公的妹妹穿的比我還像新娘。我一直安慰自己囚似,他們只是感情好剩拢,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饶唤,像睡著了一般徐伐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上募狂,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天办素,我揣著相機與錄音,去河邊找鬼祸穷。 笑死性穿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的雷滚。 我是一名探鬼主播需曾,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了呆万?” 一聲冷哼從身側(cè)響起商源,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谋减,沒想到半個月后牡彻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡逃顶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年讨便,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片以政。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡霸褒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盈蛮,到底是詐尸還是另有隱情废菱,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布抖誉,位于F島的核電站殊轴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏袒炉。R本人自食惡果不足惜旁理,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望我磁。 院中可真熱鬧孽文,春花似錦、人聲如沸夺艰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郁副。三九已至减牺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間存谎,已是汗流浹背拔疚。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留既荚,地道東北人草雕。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像固以,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

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