python实现斐波那契数列

1、利用for循环来实现
核心:python列表中可以用-1,-2来索引和访问倒数第一个数和倒数第二个数。

fibs = [1,2]
for i in range(8):
    fibs.append(fibs[-2] + fibs[-1])
print(fibs)

运行结果:
python实现斐波那契数列_第1张图片

range中的参数代表此for循环的循环次数

2、使用while循环来实现:

i = 0
j = 1
while i<10000
    print(i,end = ' ')
    i,j = j,i+j

运行结果:
python实现斐波那契数列_第2张图片

i,j = j,i+j 是并列赋值,一开始竟然看成由逗号隔开的三个东西,然后想了好久,服了。

3、递归

def fibs(n):
    if n < 1:
        return -1
    elif n==1 or n==2:
        return 1
    else:
        return fibs(n-1) + fibs(n-2)
num = int(input('input num:'))

for i in range(1,num+1):
    print(fibs(i),end=' ')

递归函数里面的话得到的只是你输入个数的那个最大的斐波那契数,输出的话是需要一个一个输出的,就是用for循环输出。

你可能感兴趣的:(python)