python3實(shí)現(xiàn)斐波那契數(shù)列(4種方法)
基礎(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)文章
Python調(diào)用百度AI實(shí)現(xiàn)人像分割詳解
本文主要介紹了如何通過(guò)Python調(diào)用百度AI從而實(shí)現(xiàn)人像的分割與合成,文中的示例代碼對(duì)我們的工作或?qū)W習(xí)有一定的幫助,需要的朋友可以參考一下2021-12-12
Blueprint實(shí)現(xiàn)路由分組及Flask中session的使用詳解
這篇文章主要為大家介紹了Blueprint實(shí)現(xiàn)路由分組及Flask中session的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
使用python來(lái)調(diào)用CAN通訊的DLL實(shí)現(xiàn)方法
今天小編就為大家分享一篇使用python來(lái)調(diào)用CAN通訊的DLL實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python遍歷指定文件夾下的所有文件名的方法小結(jié)
當(dāng)需要遍歷指定文件夾下的所有文件名時(shí),Python提供了多種方法來(lái)實(shí)現(xiàn)這個(gè)任務(wù),本文將介紹如何使用Python來(lái)完成這一任務(wù),有需要的小伙伴可以參考下2024-01-01
Python基于jieba, wordcloud庫(kù)生成中文詞云
這篇文章主要介紹了Python基于jieba, wordcloud庫(kù)生成中文詞云,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
淺談pytorch卷積核大小的設(shè)置對(duì)全連接神經(jīng)元的影響
今天小編就為大家分享一篇淺談pytorch卷積核大小的設(shè)置對(duì)全連接神經(jīng)元的影響,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python爬蟲爬取百度搜索內(nèi)容代碼實(shí)例
這篇文章主要介紹了Python爬蟲爬取百度搜索內(nèi)容代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
django實(shí)現(xiàn)類似觸發(fā)器的功能
今天小編就為大家分享一篇django實(shí)現(xiàn)類似觸發(fā)器的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

