欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用遞歸實現(xiàn)斐波那契數(shù)列的示例詳解

 更新時間:2024年01月15日 10:53:37   作者:笑小楓  
這篇文章主要給大家介紹了python使用遞歸實現(xiàn)斐波那契數(shù)列的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起來學(xué)習(xí)吧

斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞推的方法定義:F(1)=1,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

使用python如何求為n時的值呢?

def flag(b):
    if b < 0:
        return "請傳入大于0的數(shù)值!"
    if b == 0:
        return 0
    if b == 1:
        return 1
    if b == 2:
        return 1
    return flag(b-1) + flag(b-2)
print(flag(-1))
print(flag(0))
print(flag(2))
print(flag(3))
print(flag(10))

打印結(jié)果:

請傳入大于0的數(shù)值!
0
1
2
55

如果實現(xiàn)打印出的值為:1,1,2,3,5,8,13,21,34,……該如何實現(xiàn)呢?

#默認(rèn)值帶出小于或等于2的值
resList = [0,1,1]
def flag(n):
    #遞歸到最后,因為flag(n-1) + flag(n-2)同時執(zhí)行,n的值為1或2,直接return結(jié)果1
    if n == 1 or n == 2:
        return 1
    a = flag(n-1) + flag(n-2)
    #判斷如果追加的值小于集合最后一個值時,則不添加值
    if(a > resList[-1]):
        resList.append(a)
    return a
n = 10
#因為resList集合有默認(rèn)值,所以對于n小于2時,不執(zhí)行函數(shù) flag(),直接在外部處理
if n < 0:
    print("n不可以小與0")
elif n == 0:
    print("0")
elif n == 1:
    print("0,1")
else:
    flag(n)
    print(resList)

執(zhí)行結(jié)果

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

對于后面這個實現(xiàn),只是我個人的思路,應(yīng)該有更簡單的做法,歡迎大家分享。

以上就是python使用遞歸實現(xiàn)斐波那契數(shù)列的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于python遞歸實現(xiàn)斐波那契數(shù)列的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何基于python操作excel并獲取內(nèi)容

    如何基于python操作excel并獲取內(nèi)容

    這篇文章主要介紹了如何基于python操作excel并獲取內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    這篇文章主要介紹了簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python關(guān)于圖片和base64互轉(zhuǎn)的三種方式

    python關(guān)于圖片和base64互轉(zhuǎn)的三種方式

    無論使用cv2、PIL還是直接讀取圖片的方法進(jìn)行圖片與Base64的轉(zhuǎn)換,核心步驟都涉及到二進(jìn)制格式的轉(zhuǎn)換,每種方法的基本過程都是:Base64轉(zhuǎn)二進(jìn)制,然后二進(jìn)制轉(zhuǎn)圖片,或反向操作,這些方法均基于二進(jìn)制與圖片轉(zhuǎn)換的基本原理
    2024-09-09
  • windows、linux下打包Python3程序詳細(xì)方法

    windows、linux下打包Python3程序詳細(xì)方法

    這篇文章主要介紹了windows、linux下打包Python3程序詳細(xì)方法,需要的朋友可以參考下
    2020-03-03
  • python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實例,需要的朋友可以參考下
    2020-02-02
  • Python實現(xiàn)Web應(yīng)用國際化i18n的示例詳解

    Python實現(xiàn)Web應(yīng)用國際化i18n的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何基于Python的gettext模塊,實現(xiàn)一個靈活、可擴(kuò)展的多語言支持系統(tǒng),文中的示例代碼講解詳細(xì),有需要的可以參考下
    2025-02-02
  • 使用PyCharm創(chuàng)建Django項目及基本配置詳解

    使用PyCharm創(chuàng)建Django項目及基本配置詳解

    pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間。這篇文章主要介紹了使用PyCharm創(chuàng)建Django項目及基本配置詳解,pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間
    2018-10-10
  • 深入探索Django中間件的應(yīng)用場景

    深入探索Django中間件的應(yīng)用場景

    Django中間件是一種可插拔的應(yīng)用程序組件,可在請求和響應(yīng)處理過程中修改Django的行為。中間件可用于處理請求、響應(yīng)、異常等,還可用于實現(xiàn)身份驗證、緩存、性能監(jiān)控等常用功能。通過深入探索中間件的應(yīng)用場景,可以提高Django應(yīng)用程序的可擴(kuò)展性和靈活性
    2023-05-05
  • Pandas時間類型轉(zhuǎn)換與處理的實現(xiàn)示例

    Pandas時間類型轉(zhuǎn)換與處理的實現(xiàn)示例

    本文主要介紹了Pandas時間類型轉(zhuǎn)換與處理的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Tensor和NumPy相互轉(zhuǎn)換的方法

    Tensor和NumPy相互轉(zhuǎn)換的方法

    本文主要介紹了Tensor和NumPy相互轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論