斐波那契数列的Python实现
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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*)
写在前面:我们不讨论数学问题,从小数学就渣的我如果讨论数学简直就是误人子弟,所以咱们只看代码
受众对象:像我一样只有那么一丁点儿基础的小伙伴
Without any sodus,let's get started!
1
我的代码
自己写的累赘不少,在定义参数时还用了俩,大家不要笑就好
2
类似做法
但是这个运行会报错,稍微修改了一下就好了
这个就简捷了许多
以上两种都是规矩的做法,下面来个不那么规矩的
11
一行代码
f=lambda n,x=0,y=1:x if not n else f(n-1,y,x+y)
这个利用了匿名函数,x,y是默认参数,然后就递归了,我看的一头雾水。
4
列表追加
这个将所有符合条件的x追加到了res中,打印如下:
方法纷呈,至简为上。人生苦短,我用Python。
参考:http://www.jb51.net/article/81506.htm
http://www.jb51.net/article/46806.htm
领取专属 10元无门槛券
私享最新 技术干货