#函数实现
def fib(num):
n,a,b=0,0,1
while n<num:
print(b)
a,b=b,a+b
n+=1
#列表添加
def fib(num):
n,a,b=0,0,1
l=[]
while n<num:
l.append(b)
a,b=b,a+b
n+=1
return l
#类,迭代器实现
class Fib:
def __init__(self,num):
self.num=0
self.n=0
self.a,self.b=0,1
def __iter__(self):
return self
def __next__(self):
if self.n<self.num:
result=self.b
self.a,self.b=self.b,self.a+self.b
self.n+=1
return result
else:
raise StopIteration
斐波拉契yield生成器实现
def fib(num):
n,a,b=0,0,1
while n<num:
yield b
a,b=b,a+b
n+=1
for i in fib(10):
print(i)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。