首頁 >後端開發 >Python教學 >用python函數寫斐波那契數列

用python函數寫斐波那契數列

hzc
hzc原創
2020-07-03 15:40:2120646瀏覽

斐波那契數列,又稱黃金分割數列、因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、…在數學上,斐波納契數列以遞歸的方法定義。

用python函數寫斐波那契數列

對於學習程式語言的小夥伴們來說,斐波那契數列將會是一個最經典的函數之一,今天用Python來給大家講講這個經典的函數怎麼簡單粗暴的實作。

實現之前呢,先跟大家介紹一下斐波那契數列的原理,原題是一個兔子繁殖問題,簡單的講就是後一項等於前兩項之和,即f(x) =f(x-1) f(x-2),第一項可為0,亦可為1。

下面介紹兩種常用的方式,或許沒別人寫的那麼簡潔,請見諒哈!

第一種:非遞歸方式,用的是索引和while循環結合

## 從零開始,輸出前n項斐波那契數列
# 定義斐波那契函數
def fibo(x):
#初始化前兩項
m=0
n=1
# 用list儲存
l=[0,1]
# 設定初始項
i=2
# 用while迴圈進行運算,原理:後一項等於前兩項之和
while i# m n賦值給n
n=m n
# 將n加入list
l.append(n)
# 透過索引將list的前一項賦值給m
m =l[i-1]
#透過自加來達到退出迴圈的條件
i=i 1
#列印出list
print(l)
# 呼叫函數
fibo(10)

第二種:遞歸方式實現,這種就是經典模型了

# 從零開始,輸出第n項斐波那契數列

def fibo(x):
if x==1:
return 0
elif x==2:
return 1
elif x>2:
return fibo(x-1)+fibo(x-2)
else:
print("输入错误,请重新输入!")

推薦教程: 《Python教程

以上是用python函數寫斐波那契數列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn