python3實(shí)現(xiàn)斐波那契數(shù)列(4種方法)
更新時(shí)間:2019年07月15日 15:43:45 作者:寧致樂(lè)水
這篇文章主要介紹了python3實(shí)現(xiàn)斐波那契數(shù)列(4種方法),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
基礎(chǔ)版(list方法)
# 比較占內(nèi)存
w = int(input("輸入一個(gè)數(shù)字還你一個(gè)斐波那契數(shù)列:"))
list_res = []
def list_n(n):
if n>=3:
res=list_n(n-1)+list_n(n-2)
else:
res=1
return res
print("開(kāi)始")
for i in range(0,w):
list_res.append(list_n(i+1))
print(list_res)
升級(jí)版
# 比較占內(nèi)存
num =int(input("輸入一個(gè)數(shù)字還你一個(gè)斐波那契數(shù)列v2.0:"))
list_nums=[1,1]
def calculate(num,list_nums):
i = 0
if num>2:
while i < num:
list_nums.insert(i+2,list_nums[i]+list_nums[i+1])
i+=1
else:
print("數(shù)列已生成")
print(list_nums)
return list_nums[num-1]
else:
return list_nums[0]
res = calculate(num,list_nums)
print("="*50)
print("第%s個(gè):%s"%(num,res))
最實(shí)用版(解包的方式)
#省內(nèi)存
def fbnq(n):
a,b=1,1
if n==1 or n ==2:
return 1
else:
i=3
while i<=n:
a,b=b,a+b
i+=1
return b
print(fbnq(int(input("輸入一個(gè)數(shù):"))))
迭代器版
"""實(shí)現(xiàn)斐波那契數(shù)列"""
class feibo(object):
def __init__(self, length):
self.num1 = 0
self.num2 = 1
self.num = self.num1
self.length = length
self.index = 0
def __iter__(self):
return self
def __next__(self):
self.num = self.num1
while True:
if self.index == self.length:
raise StopIteration
self.num1, self.num2 = self.num2, self.num1+self.num2
self.index += 1
return self.num
myfbnq = feibo(10)
# print(list(myfbnq)) # 指針位置已到最后一位
for i in myfbnq:
print(i)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳細(xì)解析Python中的變量的數(shù)據(jù)類型
這篇文章主要介紹了詳細(xì)解析Python中的變量的數(shù)據(jù)類型,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
淺談Python在pycharm中的調(diào)試(debug)
今天小編就為大家分享一篇淺談Python在pycharm中的調(diào)試(debug),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python中的優(yōu)先隊(duì)列(priority?queue)和堆(heap)
這篇文章主要介紹了Python中的優(yōu)先隊(duì)列(priority?queue)和堆(heap),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Python獲取當(dāng)前時(shí)間日期的實(shí)現(xiàn)示例
本文主要介紹了Python獲取當(dāng)前時(shí)間日期,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解
這篇文章主要介紹了Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

