斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
1.简单函数实现
def my_fibonacci(n):
if n == 1:
return 0
if n == 2:
return 1
a = my_fibonacci(n-1) + my_fibonacci(n-2)
return a
print(my_fibonacci(8))
2.利用生成器实现
yield 当作一个返回, 遇到yield时函数会暂停保存所以信息,
def my_fabonacci(n):
a,b = 0,1
while n>0:
yield a
a,b = b,a+b
n -= 1
f = my_fabonacci(8)
for i in f:
print(i,end = ' ')