系列目录
前言
关键词:斐波那契数列
实现斐波那契数列
1、代码分析
首先,我们先认识斐波那契数列的特点:第1项是0,第2项是1,从第3项开始每个数的值为其前两个数之和,即0,1,1,2,3,5,8…
通过观察,只有第1、2项没有规律,第3项开始都等于前两项之后,假设a代表前两项较小的第一项,b代表前两项中较大的一项,f(n)为第n项对应的值,那么:
- 当n=0时,f(n)=0
- 当n=1时,f(n)=1
- 当n>1时,f(n)=f(n-1)+f(n-2),
其中a=f(n-2),b=f(b-1)
2、代码实现
#定义函数
def fab(n):
if n <= 0:
return '传递的参数必须是大于0的正参数'
elif n == 1:
return 0
else:
#给前两个参数赋值
a, b = 0, 1
#初始化列表,列表前两个值已知为0和1
fab_list = [0,1]
#由于fb_list已经有两个数值,因此只需要循环n-2次即可
for i in range(n-2):
#实现后一个数等于前两个数之和
a, b = b, a+b
#结果加入列表
fab_list.append(b)
return fab_list
#打印,求斐波那契数列前11个数
print(fab(11))
输出结果
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
代码中,a,b = b,a+b语句实现了后一个数字等于前两个数字之和,即b=a+b。然后将“前两个数中的后一个”和“这个和”作为下次运算的前两个数,通过循环可以得到一组斐波那契数列。
总结
以上就是本节要讲的内容,本文先对斐波那契数列的特点进行数学分析,然后代码实现。