简单来讲就是:数列中某一项的值,等于它的前一项加上前前一项的和
代码实现如下:
# -*- coding: utf-8 -*-
# 定义函数
def fab(n):
# 判断n的有效性
if n <= 0:
return '传递的参数必须是大于0的正整数!'
# 当n为1时,返回斐波那契的第一个数0
elif n == 1:
return 0
else:
# 给前两个数赋值为1
a, b = 0, 1
# 初始化一个列表变量,列表前两个值分别为0和1
fab_list = [0, 1]
# 由于fab_list初始化时已经有两个值,所以得到n个数只需要循环n-2次即可
for i in range(n - 2):
# 以下语句实现后一个数等于前两个数的和
a, b = b, a + b
# 把前两个数的和加入到列表中
fab_list.append(b)
# 返回列表
return fab_list
# 打印出包含11个斐波那契的序列
print(fab(11))
运行结果: