Python中遞歸函數(shù)的原理是什么?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)公司主營工農(nóng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),工農(nóng)h5微信小程序定制開發(fā)搭建,工農(nóng)網(wǎng)站營銷推廣歡迎工農(nóng)等地區(qū)企業(yè)咨詢1 遞歸函數(shù)的特點
特點
一個函數(shù) 內(nèi)部 調(diào)用自己
函數(shù)內(nèi)部可以調(diào)用其他函數(shù),當(dāng)然在函數(shù)內(nèi)部也可以調(diào)用自己
代碼特點
函數(shù)內(nèi)部的 代碼 是相同的,只是針對 參數(shù) 不同,處理的結(jié)果不同
當(dāng) 參數(shù)滿足一個條件 時,函數(shù)不再執(zhí)行
這個非常重要,通常被稱為遞歸的出口,否則 會出現(xiàn)死循環(huán)!
示例代碼
def sum_numbers(num): print(num) # 遞歸的出口很重要,否則會出現(xiàn)死循環(huán) if num == 1: return sum_numbers(num - 1) sum_numbers(3)
2 遞歸案例 —— 計算數(shù)字累加
需求
定義一個函數(shù) sum_numbers
能夠接收一個 num 的整數(shù)參數(shù)
計算 1 + 2 + ... num 的結(jié)果
def sum_numbers(num): if num == 1: return 1 # 假設(shè) sum_numbers 能夠完成 num - 1 的累加 temp = sum_numbers(num - 1) # 函數(shù)內(nèi)部的核心算法就是 兩個數(shù)字的相加 return num + temp print(sum_numbers(2))
# # 練習(xí) # 創(chuàng)建一個函數(shù),用來檢查一個任意的字符串是否是回文字符串,如果是返回True,否則返回False # 回文字符串,字符串從前往后念和從后往前念是一樣的 # abcba # abcdefgfedcba # 先檢查第一個字符和最后一個字符是否一致,如果不一致則不是回文字符串 # 如果一致,則看剩余的部分是否是回文字符串 # 檢查 abcdefgfedcba 是不是回文 # 檢查 bcdefgfedcb 是不是回文 # 檢查 cdefgfedc 是不是回文 # 檢查 defgfed 是不是回文 # 檢查 efgfe 是不是回文 # 檢查 fgf 是不是回文 # 檢查 g 是不是回文 def hui_wen(s): ''' 該函數(shù)用來檢查指定的字符串是否回文字符串,如果是返回True,否則返回False 參數(shù): s:就是要檢查的字符串 ''' # 基線條件 if len(s) < 2: # 字符串的長度小于2,則字符串一定是回文 return True elif s[0] != s[-1]: # 第一個字符和最后一個字符不相等,不是回文字符串 return False # 遞歸條件 return hui_wen(s[1:-1]) print(hui_wen('abcdefgfedcba'))python有哪些常用庫
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
看完上述內(nèi)容,你們掌握Python中遞歸函數(shù)的原理是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:Python中遞歸函數(shù)的原理是什么-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article38/hoipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站、移動網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站設(shè)計、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容