#实现斐波那契数列的第一种方式:递归
#定义一个fibo函数,通过递归方式实现斐波那契数列
def fibo(n):
#排除斐波那契数列的第一项和第二项
if n == 1 or n == 2:
#数列的前两项都是1
return 1
if n >= 3:
#递归方式实现:返回一个新项等于前两项之和
return fibo(n-1)+fibo(n-2)
i = 1
while i <= 50:
print(fibo(i))
i += 1
#递归方式实现斐波那契数列对于系统资源占用及其严重,不建议使用
#注意python3中规定递归深度默认为1000
#实现斐波那契数列的第二种方式:迭代
def fibonacci(t):
a_list = []
# 从0开始
n = 0
m = 1
for i in range(t):
a_list.append(m)
# 前两个数的累加赋值
n,m = m,n+m
return a_list
print(fibonacci(15))
#迭代方式实现对于系统资源占用较低且可指定实现次数
#实现斐波那契数列的第三种方式,实现n以内的斐波那契数列的输出
def fibo(n):
a, b = 0, 1
while b < n:
print(b)
a, b = b, a+b
#此种实现方式可方便指定某个整数内的所有斐波那契数列数列所有项。