在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python支持遞歸函數(shù)

jf_78858299 ? 來源:人工智能知識(shí)分享 ? 作者:人工智能知識(shí)分享 ? 2023-02-21 14:28 ? 次閱讀

Python支持遞歸函數(shù)——即直接或間接地調(diào)用自身以進(jìn)行循環(huán)的函數(shù)。遞歸是頗為高級(jí)的話題,并且它在Python中相對(duì)少見。然而,它是一項(xiàng)應(yīng)該了解的有用的技術(shù),因?yàn)樗试S程序遍歷擁有任意的、不可預(yù)知的形狀的結(jié)構(gòu)。遞歸甚至是簡(jiǎn)單循環(huán)和迭代的替換,盡管它不一定是最簡(jiǎn)單的或最高效的一種。

要對(duì)一個(gè)數(shù)字列表(或者其他序列)求和,我們可以使用內(nèi)置的sum函數(shù),或者自己編寫一個(gè)更加定制化的版本。這里我們就用遞歸來編寫一個(gè)定制求和函數(shù):

def mysum(L):

... if not L:

... return 0

... else:

... return L[0] + mysum(L[1:]) # Call myself

mysum([1,2,3,4,5])

15

在每一層,這個(gè)函數(shù)都遞歸地調(diào)用自己來計(jì)算列表剩余的值的和,這個(gè)和隨后加到前面的一項(xiàng)中。當(dāng)列表變?yōu)榭盏臅r(shí)候,遞歸循環(huán)結(jié)束并返回0。當(dāng)像這樣使用遞歸的時(shí)候,對(duì)函數(shù)調(diào)用的每一個(gè)打開的層級(jí),在運(yùn)行時(shí)調(diào)用堆棧上都有自己的一個(gè)函數(shù)本地作用域的副本,也就是說,這意味著L在每個(gè)層級(jí)都是不同的。

這很難理解(并且對(duì)于新程序員來說,它常常是難以理解),下面我們嘗試給函數(shù)添加一個(gè)L的打印并再次運(yùn)行它,從而在每個(gè)調(diào)用層級(jí)記錄下當(dāng)前的列表:

def mysum(L):

... print(L) # Trace recursive levels

... if not L: # L shorter at each level

... return 0

... else:

... return L[0] + mysum(L[1:])

...

mysum([1,2,3,4,5])

[1,2,3,4,5]

[2,3,4,5]

[3,4,5]

[4,5]

[5]

[]

15

正如你所看到的,在每個(gè)遞歸層級(jí)上,要加和的列表變得越來越小,直到它變?yōu)榭铡f歸循環(huán)結(jié)束。加和隨著遞歸調(diào)用的展開而計(jì)算出來。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4371

    瀏覽量

    64209
  • 循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    16250
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4825

    瀏覽量

    86200
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    快速掌握Python遞歸函數(shù)與匿名函數(shù)調(diào)用

    函數(shù)Python技術(shù)學(xué)習(xí)中重要的一個(gè)環(huán)節(jié),深入掌握該階段的知識(shí)內(nèi)容,對(duì)于Python技術(shù)能力的提升非常有幫助,這里就針對(duì)遞歸函數(shù)與匿名
    發(fā)表于 07-19 16:22

    Labview遞歸函數(shù)的使用案例

    Labview遞歸函數(shù)的使用案例,簡(jiǎn)單的1+2+3...+100求和,簡(jiǎn)單易懂,充分理解遞歸函數(shù)的思想
    發(fā)表于 10-09 09:37

    C++教程之函數(shù)遞歸調(diào)用

    C++教程之函數(shù)遞歸調(diào)用 在執(zhí)行函數(shù) f 的過程中,又要調(diào)用 f 函數(shù)本身,稱為函數(shù)遞歸調(diào)
    發(fā)表于 05-15 18:00 ?35次下載

    遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法

    C語言支持遞歸,即一個(gè)函數(shù)可以調(diào)用其自身。但在使用遞歸時(shí),程序員需要注意定義一個(gè)從函數(shù)退出的條件,否則會(huì)進(jìn)入死循環(huán)。
    的頭像 發(fā)表于 11-12 15:06 ?7439次閱讀

    C++的實(shí)驗(yàn)教程之函數(shù)遞歸算法資料免費(fèi)下載

    函數(shù)遞歸算法 1.范例:求組合數(shù), 一、實(shí)驗(yàn)?zāi)康?. 學(xué)會(huì)解決簡(jiǎn)單的遞歸算法。2. 掌握函數(shù)的嵌套調(diào)用。
    發(fā)表于 01-29 10:51 ?2次下載
    C++的實(shí)驗(yàn)教程之<b class='flag-5'>函數(shù)</b>的<b class='flag-5'>遞歸</b>算法資料免費(fèi)下載

    C語言-內(nèi)聯(lián)函數(shù)遞歸函數(shù)、指針函數(shù)

    這篇文章介紹C語言的內(nèi)聯(lián)函數(shù)遞歸函數(shù)函數(shù)指針、指針函數(shù)、局部地址、const關(guān)鍵字、extern關(guān)鍵字等知識(shí)點(diǎn);這些知識(shí)點(diǎn)在實(shí)際項(xiàng)目開發(fā)
    的頭像 發(fā)表于 08-14 10:03 ?1928次閱讀

    Python-函數(shù)的進(jìn)階與遞歸

    在程序開發(fā)中,有時(shí)候,會(huì)希望一個(gè)函數(shù)執(zhí)行結(jié)束后,告訴調(diào)用者 **一個(gè)結(jié)果** ,以便調(diào)用者針對(duì)結(jié)果作后續(xù)的處理,返回值是函數(shù)完成工作后,最后給調(diào)用者的一個(gè)結(jié)果,在函數(shù)中使用 return 關(guān)鍵字可以返回結(jié)果,**調(diào)用者** 可以
    的頭像 發(fā)表于 02-16 15:19 ?966次閱讀
    <b class='flag-5'>Python</b>-<b class='flag-5'>函數(shù)</b>的進(jìn)階與<b class='flag-5'>遞歸</b>

    Python入門之什么是函數(shù)

    Python函數(shù)比我們想象的更為靈活。由于Python函數(shù)是對(duì)象,所以函數(shù)對(duì)象可以賦值給其他的名字、傳遞給其他
    的頭像 發(fā)表于 02-21 14:24 ?685次閱讀

    函數(shù)遞歸-3

    程序調(diào)用自身的編程技巧稱為遞歸(recursion)。遞歸作為一種算法在程序設(shè)計(jì)語言中廣泛應(yīng)用。一個(gè)過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個(gè)大型復(fù)雜的問題層層轉(zhuǎn)化為一個(gè)
    的頭像 發(fā)表于 02-21 15:57 ?779次閱讀

    什么是Python遞歸函數(shù)

    遞歸函數(shù)必須有終止條件。編程中,函數(shù)的調(diào)用要占用名叫棧(stack)的內(nèi)存空間。調(diào)用函數(shù)時(shí),程序會(huì)將相關(guān)的數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)的棧里。
    的頭像 發(fā)表于 02-23 10:25 ?2108次閱讀

    C語言,你真的懂遞歸了嗎?

    要說到遞歸如果不說棧的話,我覺得有點(diǎn)不合適,遞歸特點(diǎn)就是不斷的調(diào)用同一個(gè)函數(shù),如果這個(gè)函數(shù)沒有一個(gè)遞歸界限,那么就是死循環(huán)了,所以討論
    的頭像 發(fā)表于 06-06 15:24 ?1295次閱讀
    C語言,你真的懂<b class='flag-5'>遞歸</b>了嗎?

    python函數(shù)返回多個(gè)參數(shù)

    函數(shù)是程序設(shè)計(jì)中的一個(gè)重要概念,在很多編程語言中都存在。函數(shù)可以接受輸入數(shù)據(jù),并且根據(jù)輸入數(shù)據(jù)進(jìn)行一系列操作,最后可以返回一個(gè)或多個(gè)結(jié)果。Python是一種非常流行的編程語言,也支持
    的頭像 發(fā)表于 11-21 16:37 ?1681次閱讀

    不屬于python的內(nèi)置函數(shù)

    Python是一種高級(jí)編程語言,它提供了許多內(nèi)置函數(shù),可以幫助開發(fā)人員更輕松地處理各種任務(wù)。但是,在Python中并非所有的函數(shù)都是內(nèi)置函數(shù)
    的頭像 發(fā)表于 11-29 14:27 ?1803次閱讀

    關(guān)于C語言中的遞歸

    遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法。
    發(fā)表于 02-26 10:34 ?638次閱讀
    關(guān)于C語言中的<b class='flag-5'>遞歸</b>

    Python遞歸的經(jīng)典案例

    當(dāng)我們碰到諸如需要求階乘或斐波那契數(shù)列的問題時(shí),使用普通的循環(huán)往往比較麻煩,但如果我們使用遞歸時(shí),會(huì)簡(jiǎn)單許多,起到事半功倍的效果。這篇文章主要和大家分享一些和遞歸有關(guān)的經(jīng)典案例,結(jié)合一些資料談一下個(gè)人的理解,也借此加深自己對(duì)遞歸
    的頭像 發(fā)表于 08-05 15:57 ?639次閱讀
    主站蜘蛛池模板: 免费观看午夜在线欧差毛片 | 国产一区二区三区在线观看视频 | 欧美伊久线香蕉线新在线 | 国产乱子伦 | 午夜影视在线视频观看免费 | 天堂69亚洲精品中文字幕 | videosex久久麻豆 | 亚洲综合在线一区 | 国产午夜毛片v一区二区三区 | 白浆喷射 | 欧美日韩一级视频 | 免费人成网站线观看合集 | 男女交性视频播放 视频 视频 | 日本免费精品视频 | av在线天堂网 | 一级特黄aaa大片在线观看 | 亚洲swag精品自拍一区 | 久久久99精品免费观看精品 | 中文字幕亚洲天堂 | 国产人人艹 | 97色在线播放 | 天天爽夜夜爽天天做夜夜做 | 中文在线资源链接天堂 | 黄蓉吕文德欲乱系列小说 | 午色| 天天综合天天 | 韩国精品视频 | 国语自产免费精品视频一区二区 | 亚洲永久网站 | 美女被羞羞产奶视频网站 | 一级做a爱片在线播放 | 一级视频片| 99久久网站 | 婷婷四房综合激情五月性色 | 潘金莲国产三级视频在线 | 色射啪 | 午夜精品久久久久久久久 | 成人高清毛片a | 免费四虎永久在线精品 | 天堂中文在线网 | 浮荡视频在线观看免费 |