1.斐波拉契数列
- 斐波拉契数列:指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
2.python实现斐波拉契数列多种写法
2.1 递归调用实现
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-1)+f(n-2)
2.2 生成器实现
from itertools import islice
def fib():
a,b=0,1
while True:
yield b
a,b = b,a+b
a = fib()
2.3类实现
class feibo():
def __init__(self):
self.a,self.b = 0,1
def __iter__(self):
return self
def __next__(self):
self.a,self.b = self.b,self.a+self.b
return self.a