python打印斐波那契数列前n项或第n项

打印前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

  • 19
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值