(python生成数列的函数)(python罗列数学函数)

(python中字符串的函数)(python字符串处理函数)

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

(python中的减法运算)(Python定义函数累减)

(python生成数列的函数)(python罗列数学函数)

在程序中经常使用斐波那契数列来加深我们对一些结构的理解.下面我们就用python里面几种常见的结构来实现斐波那契数列:

递归实现

递归主要是在函数内部调用自己.

(python生成数列的函数)(python罗列数学函数)

递归实现的代码,非常容易理解,代码也非常简洁,缺点是效率较低

迭代实现

迭代主要思想为: 循环代码中参与运算的变量同时是保存结果的变量,最常见的迭代为遍历列表

(python生成数列的函数)(python罗列数学函数)

这里的fibonacci函数实际上是定义了斐波拉契数列的推算规则,可以从第一个元素开始,推算出后续任意的元素,这种逻辑其实非常类似generator。而且,在每次函数运行都要保存一个列表,占内存.

使用生成器来实现

生成器是一个特殊的程序,可以被用作控制循环的迭代行为,python中生成器是迭代器的一种,使用yield返回值函数,每次调用yield会暂停,而可以使用next()函数和send()函数恢复生成器。

生成器类似于返回值为数组的一个函数,这个函数可以接受参数,可以被调用,但是,不同于一般的函数会一次性返回包括了所有数值的数组,生成器一次只能产生一个值,这样消耗的内存数量将大大减小,而且允许调用函数可以很快的处理前几个返回值,因此生成器看起来像是一个函数,但是表现得却像是迭代器

(python生成数列的函数)(python罗列数学函数)

在这里返回值不再是一个列表,而是一个生成器.可以通过for in 或者 next()来取值

(python生成数列的函数)(python罗列数学函数)
(python生成数列的函数)(python罗列数学函数)

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(python生成数列的函数)(python罗列数学函数)
本文链接:https://www.51qsb.cn/article/2512.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-09-09
下一篇2022-09-20

你可能还想知道

发表回复

登录后才能评论