打印前n项
nterms = int(input("你需要几项?"))
# 第一和第二项
n1 = 0
n2 = 1
count = 2
# 判断输入的值是否合法
if nterms <= 0:
print("请输入一个正整数。")
elif nterms == 1:
print("斐波那契数列:")
print(n1)
else:
print("斐波那契数列:")
print(n1,",",n2,end=" , ")
while count < nterms:
nth = n1 + n2
print(nth,end=" , ")
# 更新值
n1 = n2
n2 = nth
count += 1
输出结果:
你需要几项?7
斐波那契数列:
0 , 1 , 1 , 2 , 3 , 5 , 8 ,
n=int(input('你需要几项斐波那契数列值:'))
n1=1
n2=1
count=2
if n<=0:#判断输入值是否合法
print('输入数字有误')
elif n==1:
print(n1)
else:
print(n1,"",n2,end=" ")
while count<n:
nn=n1+n2
print(nn,end=" ")
n1=n2#更新数值
n2=nn
count+=1
输出结果:
你需要几项斐波那契数列值:5
1 1 2 3 5
def fabn(n):
n1=1
n2=1
count=2
if n<=0:
print('输入数字有误')
elif n==1:
print(1)
else:
print(n1,"",n2,end=" ")
while count<n:
nn=n1+n2
print(nn,end=" ")
n1=n2
n2=nn
count+=1
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)
输出结果:
1
1
2
3
5
8
13
21
34
55
89
144
打印第n项
n=int(input('你需要第几项斐波那契数列值:'))
n1=1
n2=1
count=2
if n<=0:
print('输入数字有误')
elif n==1 or n==2:
print(1)
else:
while count<n:
nn=n1+n2
n1=n2
n2=nn
count+=1
print(nn)
输出结果:
你需要第几项斐波那契数列值:3
2