竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現(xiàn)在的位置是:首頁 » 原創(chuàng)課程 » Python

課程內容

Python入門課程NO61課 遞歸函數(shù)

極客小將2020-08-28-
所謂的遞歸函數(shù),是指自己調用自己的函數(shù)。這里的調用不一定是直接調用,也可以是間接地調用。舉例說明:但這樣自身不斷的調用自身會陷入死循環(huán)當中,無法結束,因此python會拋出一個錯誤,指示該遞歸函數(shù)已超出了最大遞歸深度。因此遞歸函數(shù)必須能夠正常終止在設計遞歸函數(shù)時

所謂的遞歸函數(shù),是指自己調用自己的函數(shù)。這里的調用不一定是直接調用,也可以是間接地調用。舉例說明:

但這樣自身不斷的調用自身會陷入死循環(huán)當中,無法結束,因此python會拋出一個錯誤,指示該遞歸函數(shù)已超出了最大遞歸深度。因此

遞歸函數(shù)必須能夠正常終止

在設計遞歸函數(shù)時,必須定義一個退出邊界,否則函數(shù)會不斷地遞歸執(zhí)行,一旦超出Python語言所支持的遞歸深度,那么就會拋出RecursionError的錯誤異常。我們可以在函數(shù)體中使用控制語句加一段控制邏輯,當遞歸函數(shù)在條件不滿足時就終止遞歸。我們將上面的遞歸函數(shù)進行修改來輸出1-10之間的整數(shù),如下:

遞歸函數(shù)高級用法:返回值

遞歸函數(shù)較非遞歸函數(shù),會更難理解,在熟練掌握了遞歸函數(shù)的用法以后,可以寫出更加簡潔的代碼。比如計算幾個數(shù)字的和:

接下來我們進行講解:

代碼最外層是一個三元運算結構:return 0 if not numbers。這段代碼表示,如果參數(shù)numbers為空,就返回0。

接下來是調用自己else numbers[-1]+qiuhe(numbers[0:len(numbers)-1]),列表numbers非空,那么就先取出列表最后一個元素:numbers[-1]然后對列表進行切片,再將切片后的列表作為參數(shù)傳遞給qiuhe函數(shù):同學們注意這個切片的語法,每次切片都將尾部的元素排除。最后將取出的尾部元素,與遞歸函數(shù)的返回值進行相加:numbers[-1]+accumulate(numbers[0:len(numbers)-1])

遞歸函數(shù)的劣勢:

在定義遞歸函數(shù)的時候必須設計函數(shù)的邊界條件,一旦超出邊界,就終止遞歸,否則遞歸函數(shù)會不斷地執(zhí)行,不斷地消耗系統(tǒng)資源,直至被系統(tǒng)kill。


預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 欧美日韩一区在线 | 人人射 | 国产成人高清视频 | 中文字幕三级 | 国产成人精品免费视频大全最热 | 久久久久久网址 | 99精品热| 欧美日韩不卡在线 | 玖玖综合九九在线看 | 国产成人在线看 | 99中文字幕| 在线免费看黄色 | 日日干狠狠干 | 美日韩三级 | 我不卡电影 | 欧美日韩激情在线一区二区三区 | 久久91精品国产91久久跳 | 久久久www| 精品久久久一区 | 国产精品免费播放 | 国产精品毛片一区二区三区 | 欧美午夜一区二区 | 色综合久 | 国产免费a | 国产精品久久久久久久午夜片 | 丰满岳乱妇一区二区三区 | 99精品视频在线观看免费 | 亚洲成人基地 | 久久精品综合 | 一区二区免费在线视频 | 久久91精品国产91久久跳 | 国产一区二区三区四 | 麻豆视频免费在线播放 | 国产1区2区在线观看 | 日韩精品视频在线播放 | 在线一区视频 | 国产区在线观看 | 精品一区在线 | 日本一区视频在线 | 国内精品免费 | a在线观看 |