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

python如何實現斐波那契數列

 更新時間:2023年08月10日 09:12:42   作者:簽到贏福利  
這篇文章主要介紹了python如何實現斐波那契數列問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python實現斐波那契數列

利用for循環(huán)來實現

核心:python列表中可以用-1,-2來索引和訪問倒數第一個數和倒數第二個數。

fibs = [1,2]
for i in range(8):
    fibs.append(fibs[-2] + fibs[-1])
print(fibs)

運行結果:

運行結果

range中的參數代表此for循環(huán)的循環(huán)次數

使用while循環(huán)來實現

i = 0
j = 1
while i<10000
    print(i,end = ' ')
    i,j = j,i+j

運行結果:

在這里插入圖片描述

i,j = j,i+j 是并列賦值,一開始竟然看成由逗號隔開的三個東西,然后想了好久,服了。

遞歸

def fibs(n):
    if n < 1:
        return -1
    elif n==1 or n==2:
        return 1
    else:
        return fibs(n-1) + fibs(n-2)
num = int(input('input num:'))
for i in range(1,num+1):
    print(fibs(i),end=' ')

遞歸函數里面的話得到的只是你輸入個數的那個最大的斐波那契數,輸出的話是需要一個一個輸出的,就是用for循環(huán)輸出。

python編寫函數求斐波拉契數列(0、1、1、2、3、5、8、..)并求用戶輸入的前x項之和

什么是斐波那契數列

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”

指的是這樣一個數列:

0、1、1、2、3、5、8、13、21、34、……

在數學上,斐波那契數列以如下被以遞推的方法定義:

F(1)=1
F(2)=1
F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)

斐波那契數列規(guī)律

除了第一項和第二項外,從第三項開始,每一項都等于前兩項之和

斐波那契數列的代碼實現

用Python編寫函數求斐波拉契數列(0、1、1、2、3、5、8、…)并根據用戶輸入的前x項進行求和

def fib(n):
    list = [0,1]
    a,b = 0,1
    for i in range(2,n+1):
        a,b=b,a+b 
        list.append(b)
    return list
while True:
    try:
        x = int(input('請輸入斐波那契數列的長度:'))
        if x <= 0:
            print('長度輸入不合法!')
            continue
        else:
            sum = 0
            list = fib(x) # 調用前面寫的fib函數
            print('前{}項的斐波那契數列是:'.format(x))
            for j in range(0,x):
                print(list[j],end=' ')
                sum = sum + list[j] # 求和
            print ('\n')
            print('前{}項的斐波那契數列之和是:\n{}'.format(x,sum))
            break
    except ValueError:
        print ('長度輸入不合法!')
        continue

執(zhí)行結果:

請輸入斐波那契數列的長度:20
前20項的斐波那契數列是:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 

前20項的斐波那契數列之和是:
10945

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • PyQt教程之自定義組件Switch?Button的實現

    PyQt教程之自定義組件Switch?Button的實現

    這篇文章主要為大家詳細介紹了PyQt中如何實現自定義組件Switch?Button,文中的示例代碼簡潔易懂,具有一定的學習價值,感興趣的可以了解一下
    2023-05-05
  • 利用Django提供的ModelForm增刪改數據的方法

    利用Django提供的ModelForm增刪改數據的方法

    這篇文章主要介紹了利用Django提供的ModelForm增刪改數據,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python設定并獲取socket超時時間的方法

    python設定并獲取socket超時時間的方法

    今天小編就為大家分享一篇python設定并獲取socket超時時間的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python中的pydot庫實現復雜圖形使用教程

    Python中的pydot庫實現復雜圖形使用教程

    pydot是一個用于生成和操作DOT圖文件的Python庫,封裝了Graphviz的功能,適用于可視化圖結構,它可以生成依賴圖、流程圖、樹形圖等,并支持復雜的圖形樣式、網絡數據集成、循環(huán)圖、輸出其他格式、處理大規(guī)模圖數據的等等
    2025-01-01
  • 圖文詳解Python中最神秘的一個魔法函數

    圖文詳解Python中最神秘的一個魔法函數

    Python進階之路我覺得有兩個東西一定要了解,一個是魔法函數,下面這篇文章主要給大家介紹了關于Python中最神秘的一個魔法函數的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • Python+wxPython實現個人鏈接收藏夾

    Python+wxPython實現個人鏈接收藏夾

    這篇文章主要介紹了如何使用wxPython和XML數據源創(chuàng)建一個具有按鈕和Web視圖的應用程序窗口,以便輕松管理和訪問各種網頁鏈接,感興趣的可以了解下
    2023-08-08
  • Python中函數相關的變量作用域

    Python中函數相關的變量作用域

    這篇文章主要介紹了Python中函數相關的變量作用域,變量的作用域是指程序代碼能夠訪問該變量的區(qū)域,如果超出該區(qū)域,在訪問時就會出現錯誤,需要的朋友可以參考下
    2023-08-08
  • python3音樂播放器簡單實現代碼

    python3音樂播放器簡單實現代碼

    這篇文章主要為大家詳細介紹了python3音樂播放器簡單實現代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json

    python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json

    這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python中Timedelta轉換為Int或Float方式

    Python中Timedelta轉換為Int或Float方式

    這篇文章主要介紹了Python中Timedelta轉換為Int或Float方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評論