背景:
小夥伴去面試,考題: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可以用於將結果輸出到同一行,或者在輸出的末尾新增不同的字元,例...