斐波那契
又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”.
斐波那契数列的特点是:从第三项开始,每一项都为前两项之和。
问题:
计算二十个月以后兔子的数量?
思路:首先明确了它的特点 "从第三项开始,每一项都为前两项之和 "
这样就说明了,除了第一第二列,剩下的都可以套用循环.
我们可以创建一个列表,里面写入第一列第二列不在循环中的数据.
alist = [1,1]
下面用循环 ,但是这里要记得,要求的是二十个月的数量,如果循环二十次,那就出错了,因为刚才说了第三项开始,每一项才是前两项之和,而且刚才已经把第一个月第二个月的数据写入了列表中所以循环次数为20 - 2 = 18
代码如下:
alist = [1,1] # 第一个月第二个月的数据
for i in range(18): # 循环 18次(循环十八次的原因是因为一共需要20个月,但是已经给出前两个月的值了,所有只需要循环剩下的十八次就OK)
b = alist[-1] + alist[-2] # 用变量b存放列表最后两项之和
alist.append(b) # 然后把b的值用append放到列表最后一位 这样就满足了条件每一项都为前两项之和
print(alist[-1]) #输出最后一个月的兔子数量
for i in range(18):
b = alist[-1] + alist[-2]
alist.ap