Python 斐波那契數列

2022-02-14 07:11:34 字數 1379 閱讀 4562

背景:

小夥伴去面試,考題:python計算"斐波那契數列",不少於2種寫法。

斐波那契數列指的是這樣乙個數列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項是0,第1項是第乙個1。從第三項開始,每一項都等於前兩項之和。

正常邏輯:

#

author: lixy

num = int(input("

輸入乙個整數:"))

a =0

b = 1

if num <=0:

print("

請輸入乙個正整數!")

elif num == 1:

print("

斐波拉契數列:%d

" %a)

else

:

print("

斐波拉契數列:

", end="")

print(a,b,end="")

for i in range(1, num-1):

c = a +b

a,b=b,c

print(c,end="

")

方法二:

l = [0,1]

num = int(input("

請輸入你要的項數:"))

if(num <=0):

print("

請輸入乙個正整數!");

elif(num <= 2):

if(num == 1):

print("

數列是:0")

else

:

print("

數列是:0,1")

else:

for i in range(2,num):

f = l[i-1] + l[i-2]

print("

陣列是:")

print(l)

最後使用生成器的方法:

#

python 用生成器生成斐波那契數列

defpeibo():

a =0

b = 1

print(a, end="")

while

true:

c = a +b

a, b =b, c

yield

apei =peibo()

for x in

pei:

if x > 100:

break

print(x, end="

")

結果展示:

最後:遇到這種,我估計直接出門左轉了..

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

python 斐波那契數列

用python寫斐波那契數列當然大家都寫的出來。當時如果用一行 寫呢。本來沒有打算用一行 寫的。後來看到有用一行 寫階乘的。reduce lambda x,y x y,i for i in range 1,n 1 當然在這之前需要 from functools import 好吧,如果你願意,就算兩...

python斐波那契數列

學習過python基礎語法,我們嘗試做乙個簡單的斐波那契數列。斐波納契數列 兩個元素的總和確定了下乙個數 a,b 0,1 while b 10 print b a,b b,a b執行以上程式,輸出 112 358end關鍵字 關鍵字end可以用於將結果輸出到同一行,或者在輸出的末尾新增不同的字元,例...