python3实现斐波那契数列(4种方法)
基础版(list方法)
#比较占内存
w=int(input("输入一个数字还你一个斐波那契数列:"))
list_res=[]
deflist_n(n):
ifn>=3:
res=list_n(n-1)+list_n(n-2)
else:
res=1
returnres
print("开始")
foriinrange(0,w):
list_res.append(list_n(i+1))
print(list_res)
升级版
#比较占内存
num=int(input("输入一个数字还你一个斐波那契数列v2.0:"))
list_nums=[1,1]
defcalculate(num,list_nums):
i=0
ifnum>2:
whilei
最实用版(解包的方式)
#省内存
deffbnq(n):
a,b=1,1
ifn==1orn==2:
return1
else:
i=3
whilei<=n:
a,b=b,a+b
i+=1
returnb
print(fbnq(int(input("输入一个数:"))))
迭代器版
"""实现斐波那契数列"""
classfeibo(object):
def__init__(self,length):
self.num1=0
self.num2=1
self.num=self.num1
self.length=length
self.index=0
def__iter__(self):
returnself
def__next__(self):
self.num=self.num1
whileTrue:
ifself.index==self.length:
raiseStopIteration
self.num1,self.num2=self.num2,self.num1+self.num2
self.index+=1
returnself.num
myfbnq=feibo(10)
#print(list(myfbnq))#指针位置已到最后一位
foriinmyfbnq:
print(i)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。