您的位置:首頁技術文章
文章詳情頁

Python遞歸函數特點及原理解析

瀏覽:2日期:2022-08-04 11:30:23

1 遞歸函數的特點

特點

一個函數 內部 調用自己

函數內部可以調用其他函數,當然在函數內部也可以調用自己

代碼特點

函數內部的 代碼 是相同的,只是針對 參數 不同,處理的結果不同

當 參數滿足一個條件 時,函數不再執行

這個非常重要,通常被稱為遞歸的出口,否則 會出現死循環!

示例代碼

def sum_numbers(num): print(num) # 遞歸的出口很重要,否則會出現死循環 if num == 1: return sum_numbers(num - 1)sum_numbers(3)

Python遞歸函數特點及原理解析

2 遞歸案例 —— 計算數字累加

需求

定義一個函數 sum_numbers

能夠接收一個 num 的整數參數

計算 1 + 2 + ... num 的結果

def sum_numbers(num):​ if num == 1: return 1 # 假設 sum_numbers 能夠完成 num - 1 的累加 temp = sum_numbers(num - 1)​ # 函數內部的核心算法就是 兩個數字的相加 return num + temp​print(sum_numbers(2))

Python遞歸函數特點及原理解析

# # 練習# 創建一個函數,用來檢查一個任意的字符串是否是回文字符串,如果是返回True,否則返回False# 回文字符串,字符串從前往后念和從后往前念是一樣的# abcba# abcdefgfedcba# 先檢查第一個字符和最后一個字符是否一致,如果不一致則不是回文字符串# 如果一致,則看剩余的部分是否是回文字符串# 檢查 abcdefgfedcba 是不是回文# 檢查 bcdefgfedcb 是不是回文# 檢查 cdefgfedc 是不是回文# 檢查 defgfed 是不是回文# 檢查 efgfe 是不是回文# 檢查 fgf 是不是回文# 檢查 g 是不是回文def hui_wen(s): ’’’ 該函數用來檢查指定的字符串是否回文字符串,如果是返回True,否則返回False 參數: 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 編程
相關文章:
国产综合久久一区二区三区