python如何實現(xiàn)斐波那契數(shù)列
python實現(xiàn)斐波那契數(shù)列
利用for循環(huán)來實現(xiàn)
核心:python列表中可以用-1,-2來索引和訪問倒數(shù)第一個數(shù)和倒數(shù)第二個數(shù)。
fibs = [1,2]
for i in range(8):
fibs.append(fibs[-2] + fibs[-1])
print(fibs)運行結(jié)果:

range中的參數(shù)代表此for循環(huán)的循環(huán)次數(shù)。
使用while循環(huán)來實現(xiàn)
i = 0
j = 1
while i<10000
print(i,end = ' ')
i,j = j,i+j運行結(jié)果:

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=' ')遞歸函數(shù)里面的話得到的只是你輸入個數(shù)的那個最大的斐波那契數(shù),輸出的話是需要一個一個輸出的,就是用for循環(huán)輸出。
python編寫函數(shù)求斐波拉契數(shù)列(0、1、1、2、3、5、8、..)并求用戶輸入的前x項之和
什么是斐波那契數(shù)列
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”
指的是這樣一個數(shù)列:
0、1、1、2、3、5、8、13、21、34、……
在數(shù)學(xué)上,斐波那契數(shù)列以如下被以遞推的方法定義:
F(1)=1 F(2)=1 F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
斐波那契數(shù)列規(guī)律
除了第一項和第二項外,從第三項開始,每一項都等于前兩項之和
斐波那契數(shù)列的代碼實現(xiàn)
用Python編寫函數(shù)求斐波拉契數(shù)列(0、1、1、2、3、5、8、…)并根據(jù)用戶輸入的前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('請輸入斐波那契數(shù)列的長度:'))
if x <= 0:
print('長度輸入不合法!')
continue
else:
sum = 0
list = fib(x) # 調(diào)用前面寫的fib函數(shù)
print('前{}項的斐波那契數(shù)列是:'.format(x))
for j in range(0,x):
print(list[j],end=' ')
sum = sum + list[j] # 求和
print ('\n')
print('前{}項的斐波那契數(shù)列之和是:\n{}'.format(x,sum))
break
except ValueError:
print ('長度輸入不合法!')
continue執(zhí)行結(jié)果:
請輸入斐波那契數(shù)列的長度:20
前20項的斐波那契數(shù)列是:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181前20項的斐波那契數(shù)列之和是:
10945
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
PyQt教程之自定義組件Switch?Button的實現(xiàn)
這篇文章主要為大家詳細介紹了PyQt中如何實現(xiàn)自定義組件Switch?Button,文中的示例代碼簡潔易懂,具有一定的學(xué)習價值,感興趣的可以了解一下2023-05-05
利用Django提供的ModelForm增刪改數(shù)據(jù)的方法
這篇文章主要介紹了利用Django提供的ModelForm增刪改數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
Python中的pydot庫實現(xiàn)復(fù)雜圖形使用教程
pydot是一個用于生成和操作DOT圖文件的Python庫,封裝了Graphviz的功能,適用于可視化圖結(jié)構(gòu),它可以生成依賴圖、流程圖、樹形圖等,并支持復(fù)雜的圖形樣式、網(wǎng)絡(luò)數(shù)據(jù)集成、循環(huán)圖、輸出其他格式、處理大規(guī)模圖數(shù)據(jù)的等等2025-01-01
Python+wxPython實現(xiàn)個人鏈接收藏夾
這篇文章主要介紹了如何使用wxPython和XML數(shù)據(jù)源創(chuàng)建一個具有按鈕和Web視圖的應(yīng)用程序窗口,以便輕松管理和訪問各種網(wǎng)頁鏈接,感興趣的可以了解下2023-08-08
python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json
這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Python中Timedelta轉(zhuǎn)換為Int或Float方式
這篇文章主要介紹了Python中Timedelta轉(zhuǎn)換為Int或Float方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

