斐波那契数列就是:1,1,2,3,5,8,13......
1.使用递归函数实现斐波那契数列
def fac(n):
if n == 1 or n == 2:
return 1
return fac(n-1)+fac(n-2)
print(fac(7))
2.使用迭代器实现斐波那契数列
class fib():
def __init__(self):
self.a = 0
self.b = 1
def __iter__(self):
return self
def __next__(self):
if self.a >80:
raise StopIteration("程序终止")
temp = self.b
self.b = self.a+self.b
self.a = temp
return self.a
f1 = fib()
for i in f1:
print(f"{i}")
3.使用生成器实现斐波那契数列
def fib():
a = 0
b = 1
while 1:
temp = b
b = b + a
a = temp
yield a
f1 = fib()
print(next(f1))
print(next(f1))
print(next(f1))
print(next(f1))



