python中递归函数特点,Python递归函数特点及原理解析
1 遞歸函數的特點
特點
一個函數 內部 調用自己
函數內部可以調用其他函數,當然在函數內部也可以調用自己
代碼特點
函數內部的 代碼 是相同的,只是針對 參數 不同,處理的結果不同
當 參數滿足一個條件 時,函數不再執行
這個非常重要,通常被稱為遞歸的出口,否則 會出現死循環!
示例代碼
def sum_numbers(num):
print(num)
# 遞歸的出口很重要,否則會出現死循環
if num == 1:
return
sum_numbers(num - 1)
sum_numbers(3)
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))
#
# 練習
# 創建一個函數,用來檢查一個任意的字符串是否是回文字符串,如果是返回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递归函数特点及原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php new对象 调用函数,关于JS中
- 下一篇: hmailserver怎么搭建php,h