python实现斐波那契数列

斐波那契数列即著名的兔子数列:1、1、2、3、5、8、13、21、34、……

1,1,2,3,5,8,13比如这样一个兔子的对列,第三个数是前两个数之和。让写一个方法,比如让你随机输入一个数字,把它前面的两个数打印出来

def fib_num(n):
    a=0
    b=1
    lis=[]
    while b<=n:
        lis.append(b)
        a,b=b,a+b
    n_index=lis.index(n)
    return [lis[n_index-2],lis[n_index-1]]

数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单:

a=0
b=1
while b < 1000:
    print(b)
    a, b = b, a+b

递归方式实现斐波那契数列 前n项:

复制代码
# 递归方式实现 生成前20项
lis =[]
for i in range(20):
    if i ==0 or i ==1:#第1,2项 都为1
        lis.append(1)
    else:
        lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和
print(lis)

这种方式也可生成前20项
a = 1
b = 1
for i in range(1,11):
print('%d %d'%(a,b))
a += b
b += a








原文地址:https://www.cnblogs.com/niuniu2018/p/8405486.html