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

python遞歸函數(shù)求n的階乘,優(yōu)缺點(diǎn)及遞歸次數(shù)設(shè)置方式

 更新時(shí)間:2020年04月02日 14:29:44   作者:浩-先生  
這篇文章主要介紹了python遞歸函數(shù)求n的階乘,優(yōu)缺點(diǎn)及遞歸次數(shù)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

遞歸函數(shù)兩大特點(diǎn):

1.能夠調(diào)用函數(shù)自身

2.至少有一個(gè)出口(結(jié)束函數(shù)自身調(diào)用)

函數(shù)實(shí)現(xiàn):

def calnum(num):
  if num != 1:
    # 遞歸調(diào)用自身函數(shù)
    csum = num * calnum(num - 1)
  else:
    # 設(shè)置遞歸出口
    csum = 1

  return csum

ret = calnum(5)
print(ret)

遞歸函數(shù)的缺點(diǎn):

占用資源多,一般不會(huì)優(yōu)先選擇。

一個(gè)程序中python默認(rèn)只允許調(diào)用自身1024次,超過這個(gè)次數(shù),

python解釋器會(huì)認(rèn)為該程序執(zhí)行有錯(cuò)誤而報(bào)錯(cuò)停止

報(bào)錯(cuò)信息:

RuntimeError: maximum recursion depth exceeded

當(dāng)然python是支持自定義次數(shù)的:

import sys
# 設(shè)置允許的調(diào)用次數(shù)為2000
sys.setrecursionlimit(2000)

補(bǔ)充知識(shí):python:編寫一個(gè)求菲波那奇數(shù)列的遞歸函數(shù),輸入n值,使用該遞歸函數(shù)

題目:

編寫一個(gè)求菲波那奇數(shù)列的遞歸函數(shù),輸入n值,使用該遞歸函數(shù),輸出如下圖形。例如:當(dāng)n=6時(shí)。

            0
          0  1  1
        0  1  1  2  3
      0  1  1  2  3  5  8
    0  1  1  2  3  5  8 13 21
  0  1  1  2  3  5  8 13 21 34 55

規(guī)律:

1.每行第一個(gè)數(shù)為0;

2.第n行數(shù)的個(gè)數(shù)為2n-1;

3.第n行第m列數(shù)為第n行中第m-1列和m-2列數(shù)之和;

代碼:

def fei(i,j): #i為行數(shù),j為列數(shù)
  if i == 1 or j ==1:
    return 0
  elif j == 2 :
    return 1
  else:
    return fei(i,j-1) + fei(i,j-2)
 
for i in range(1,7):
  print()
  for k in range(1,7-i): #控制空格數(shù)
    print(" ",end="")
  for j in range(1,(2*i)): 
    print(fei(i,j),"",end="")

運(yùn)行結(jié)果:

以上這篇python遞歸函數(shù)求n的階乘,優(yōu)缺點(diǎn)及遞歸次數(shù)設(shè)置方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python語(yǔ)言規(guī)范之Pylint的詳細(xì)用法

    Python語(yǔ)言規(guī)范之Pylint的詳細(xì)用法

    Pylint 是一個(gè) Python 代碼分析工具,它分析 Python 代碼中的錯(cuò)誤,查找不符合代碼風(fēng)格標(biāo)準(zhǔn)(Pylint 默認(rèn)使用的代碼風(fēng)格是 PEP 8)和有潛在問題的代碼,接下來通過本文給大家介紹Python Pylint的使用,感興趣的朋友一起看看吧
    2021-06-06
  • Python 文件處理注意事項(xiàng)總結(jié)

    Python 文件處理注意事項(xiàng)總結(jié)

    這篇文章主要介紹了Python 文件處理注意事項(xiàng)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 使用Django框架中ORM系統(tǒng)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)增刪改查

    使用Django框架中ORM系統(tǒng)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)增刪改查

    這篇文章主要介紹了使用Django的ORM實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)增刪改查方法,文中附含詳細(xì)示例代碼以及過程詳解,有需要的朋友可以借鑒參考下
    2021-09-09
  • python 列表、字典和集合的添加和刪除操作

    python 列表、字典和集合的添加和刪除操作

    今天小編就為大家分享一篇python 列表、字典和集合的添加和刪除操作,有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 利用Python進(jìn)行金融數(shù)據(jù)分析的全過程

    利用Python進(jìn)行金融數(shù)據(jù)分析的全過程

    金融數(shù)據(jù)分析在現(xiàn)代金融行業(yè)中扮演著至關(guān)重要的角色,通過使用Python編程語(yǔ)言,我們可以對(duì)大量金融數(shù)據(jù)進(jìn)行處理、分析和可視化,從而獲得有價(jià)值的洞察,本篇文章將介紹如何使用Python進(jìn)行金融數(shù)據(jù)分析,需要的朋友可以參考下
    2024-08-08
  • tf.concat中axis的含義與使用詳解

    tf.concat中axis的含義與使用詳解

    今天小編就為大家分享一篇tf.concat中axis的含義與使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python基礎(chǔ)學(xué)習(xí)列表+元組+字典+集合

    Python基礎(chǔ)學(xué)習(xí)列表+元組+字典+集合

    這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)列表+元組+字典+集合,文章接上一篇內(nèi)容學(xué)習(xí),主要針對(duì)python零基礎(chǔ)的同學(xué),感興趣的話就學(xué)起來吧
    2022-05-05
  • Python黑帽編程 3.4 跨越VLAN詳解

    Python黑帽編程 3.4 跨越VLAN詳解

    VLAN(Virtual Local Area Network),是基于以太網(wǎng)交互技術(shù)構(gòu)建的虛擬網(wǎng)絡(luò),既可以將同一物理網(wǎng)絡(luò)劃分成多個(gè)VALN,也可以跨越物理網(wǎng)絡(luò)障礙,將不同子網(wǎng)中的用戶劃到同一個(gè)VLAN中。這篇文章主要介紹了Python黑帽編程 3.4 跨越VLAN 的相關(guān)資料,需要的朋友參考下
    2016-09-09
  • python 合并列表的八種方法

    python 合并列表的八種方法

    這篇文章主要介紹了python 連接列表的八種方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • pandas group分組與agg聚合的實(shí)例

    pandas group分組與agg聚合的實(shí)例

    這篇文章主要介紹了pandas group分組與agg聚合的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論