python笔试题—斐波那契数列

1.递归(不推荐)

while True:
    def feb1(n):
        if n < 1:
            print("输入错误!")
        elif n == 1 or n ==2:
            return 1
        else:
            return feb1(n-1) + feb1(n-2)

    a = int(input("请输入要计算的斐波那契项数:"))
    result = feb1(a)
    print("第%d项斐波那契数为%d" % (a,result))

结果:
在这里插入图片描述

2.非递归

while True:
    def fib2(n):
        a, b = 1, 1
        list = []
        for i in range(n):
            list.append(a)
            a, b = b, a+b
        print(list)

    a = int(input("请输入要计算的斐波那契的项数:"))
    fib2(a)

在这里插入图片描述
求满足规律的100以内的斐波那契数列

def fib3(n):
    a = 0
    b = 1
    while b < n:
        print(b,end=" ")
        a,b = b,a+b
fib3(100)

结果:
在这里插入图片描述

发布了33 篇原创文章 · 获赞 0 · 访问量 931

猜你喜欢

转载自blog.csdn.net/nickyff/article/details/104402196
今日推荐