用Python输出斐波那契数列的几种方法

一、斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
在数学上,斐波那契数列以如下被以递推的方法定义:
F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)

二、第一种方法:使用递归

1、递归四要素

  • 接收的参数
  • 返回值
  • 终止的条件
  • 递归拆解,如何递归到下一层

2、具体代码

class Solution:
    def fib(self, n: int) -> int:
        if n<2:
            return n
        else:
            return self.fib(n-1)+self.fib(n-2)

二、第二种方法:使用遍历

def fib(n):
    if n < 2:
        return n
    a, b, c = 0, 0, 1
    for i in range(2, n + 1):
        a, b = b, c
        c = a + b
    return c

三、第三种方法:以列表的形式输出斐波那契数列

def fib(n):
    result = [] #创建空列表用来储存斐波那契数列
    for i in range(n):
        if i == 0:
            result.append(0)
        elif i == 1:
            result.append(1)
        else:
            result.append(result[i-1]+result[i-2])
    print(result)

四、收获

通过本文章学到的知识主要有:
1、递归的使用
2、函数中self的用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小赵同学-

非常感谢你!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值