亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python遞歸函數(shù)特點及原理解析

 更新時間:2020年03月04日 11:34:49   作者:天宇軒-王  
這篇文章主要介紹了Python遞歸函數(shù)特點及原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下

1 遞歸函數(shù)的特點

特點

一個函數(shù) 內(nèi)部 調(diào)用自己

函數(shù)內(nèi)部可以調(diào)用其他函數(shù),當然在函數(shù)內(nèi)部也可以調(diào)用自己

代碼特點

函數(shù)內(nèi)部的 代碼 是相同的,只是針對 參數(shù) 不同,處理的結(jié)果不同

當 參數(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))

#  
# 練習
#  創(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'))

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • tensorflow1.0學(xué)習之模型的保存與恢復(fù)(Saver)

    tensorflow1.0學(xué)習之模型的保存與恢復(fù)(Saver)

    這篇文章主要介紹了tensorflow1.0學(xué)習之模型的保存與恢復(fù)(Saver) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 詳解Python3 pickle模塊用法

    詳解Python3 pickle模塊用法

    pickle模塊中的兩個主要函數(shù)是dump()和load(),這篇文章主要介紹了Python3 pickle模塊用法,需要的朋友可以參考下
    2019-09-09
  • Python Switch Case三種實現(xiàn)方法代碼實例

    Python Switch Case三種實現(xiàn)方法代碼實例

    這篇文章主要介紹了Python Switch Case2種實現(xiàn)方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-06-06
  • 利用python微信庫itchat實現(xiàn)微信自動回復(fù)功能

    利用python微信庫itchat實現(xiàn)微信自動回復(fù)功能

    最近發(fā)現(xiàn)了一個特別好玩的Python 微信庫itchat,可以實現(xiàn)自動回復(fù)等多種功能,下面這篇文章主要給大家介紹了利用python微信庫itchat實現(xiàn)微信自動回復(fù)功能的相關(guān)資料,需要的朋友可以參考學(xué)習,下面來一起看看吧。
    2017-05-05
  • Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將名稱映射到序列元素中的方法

    Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將名稱映射到序列元素中的方法

    這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將名稱映射到序列元素中的方法,結(jié)合實例形式分析了Python使用collections.namedtuple()進行元組命名相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • python使用yield壓平嵌套字典的超簡單方法

    python使用yield壓平嵌套字典的超簡單方法

    這篇文章主要給大家介紹了關(guān)于python使用yield壓平嵌套字典的超簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者使用python具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-11-11
  • 如何解決Python讀取圖片路徑存在轉(zhuǎn)義字符的問題

    如何解決Python讀取圖片路徑存在轉(zhuǎn)義字符的問題

    這篇文章主要為大家詳細介紹了如何解決Python讀取圖片路徑時存在轉(zhuǎn)義字符的問題,文中的示例代碼講解詳細,感興趣的小伙伴可以學(xué)習一下
    2023-07-07
  • Python中使用?zipfile創(chuàng)建文件壓縮工具

    Python中使用?zipfile創(chuàng)建文件壓縮工具

    這篇文章主要介紹了Python中使用zipfile創(chuàng)建文件壓縮工具,通過使用 wxPython 模塊,我們創(chuàng)建了一個簡單而實用的文件壓縮工具,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的ca參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Python生成不重復(fù)隨機值的方法

    Python生成不重復(fù)隨機值的方法

    這篇文章主要介紹了Python生成不重復(fù)隨機值的方法,實例分析了Python算法實現(xiàn)與Python自帶方法的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • Python關(guān)于print的操作(倒計時、轉(zhuǎn)圈顯示、進度條)

    Python關(guān)于print的操作(倒計時、轉(zhuǎn)圈顯示、進度條)

    這篇文章主要介紹了Python關(guān)于print的操作(倒計時、轉(zhuǎn)圈顯示、進度條),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論