第一种首推,简便快速
def fab(x):
n,a,b=0,0,1
while n<x:
a,b=b,a+b
yield a
n+=1
for i in fab(12):
print(i)
其次就是下面的。容易理解
start='1'
while start:
n=int(input('请输入一个整数:'))
if n<1:
print('请输入大于1的整数')
if n==1:
a=[0]
b=0
print('前',n,'项是',a,',第',n,'项为',b,)
elif n==2:
a=[0,1]
b=1
print('前',n,'项是',a,',第',n,'项为',b,)
elif n>2:
a=[0,1]
for i in range (n-2):
b=a[i]+a[i+1]
a.append(b)
print('前',n,'项是',a,',第',n,'项为',b)
start=input('按任意键继续,回车退出')
另
start='1'
while start:
a=0
b=1
n=int(input('请输入一个整数'))
if n<1:
print('请输入大于1的整数')
elif n==1:
print(0)
elif n==2:
print(0,1)
elif n>2:
print(0,1,end=' ')
for i in range(n-2):
a,b=b,a+b
print(b,end=' ')
start=input('按任意键继续,按回车退出')