1、利用for循环来实现
核心:python列表中可以用-1,-2来索引和访问倒数第一个数和倒数第二个数。
fibs = [1,2]
for i in range(8):
fibs.append(fibs[-2] + fibs[-1])
print(fibs)
运行结果:
range中的参数代表此for循环的循环次数。
2、使用while循环来实现:
i = 0
j = 1
while i<10000
print(i,end = ' ')
i,j = j,i+j
运行结果:
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循环输出。