尔有走
2021-06-19 20:04
采纳率: 50%
浏览 58

Python斐波那契数列

斐波那契数列又称为兔子数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子引入,这个数列中的数据满足以下公式:
F(1)=1, F(2)=1, F(n)= F(n-1) + F(n-2) (n>=3,n∈N*)
要求编写程序,实现根据用户输入的数字输出斐波那契数列的功能。
 
基本要求:根据题目描述中的公式,可以定义一个递归函数fibonacci (n),该函数中n表示指定的斐波那契数,边界条件为n=1或n=2,递归公式为fibonacci (n-1)+ fibonacci (n-2)。

 

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    # -*- coding: UTF-8 -*-
    
    # Filename : test.py
    
    # 获取用户输入数据
    nterms = int(input('请输入一个正整数:'))
    
    # 第一和第二项
    n1 = 1
    n2 = 1
    count = 2
    
    # 判断输入的值是否合法
    if nterms <= 0:
        print("请输入一个正整数。")
    elif nterms == 1:
        print(n1)
    else:
        print(n1, n2, end=" ")
        while count < nterms:
            nth = n1 + n2
            print(nth, end=" ")
            # 更新值
            n1 = n2
            n2 = nth
            count += 1

     

     

    已采纳该答案
    打赏 评论
  • 代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。

    def fibonacci(n):
        if n==1 or n==2:
            s = 1
        else:
            s = fibonacci(n-1) + fibonacci(n-2)
        return s
    
    n=int(input('请输入一个正整数:'))
    for i in range(1,n+1):
        print(fibonacci(i),end=' ')
    

     

    1 打赏 评论
  • def fib(n):
        if n<=2:
            return 1
        else:
            return fib(n-1)+fib(n-2)
    def main():
        n=int(input("请输入整数:"))
        for i in range(1,n+1):
            print(fib(i),end=" ")
    if __name__=="__main__":
        main()

     

     

    1 打赏 评论
  • 有问必答小助手 2021-06-22 11:51

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题