2.4 案例
——斐波那契数列
800多年前,一位叫作斐波那契的数学家根据一道著名的兔子繁殖问题发现了这样一组奇怪的数列:
1、1、2、3、5、8、13、21、34……
看起来奇怪,实则也有规律,这组数从第3个数开始每个数是前两项的和:
● 2是前两项的和(1+1);
● 3是前两项的和(1+2);
● 5是前两项的和(2+3);
● 8是前两项的和(3+5)……
你能把斐波那契数列写得更长一些吗?
用这些数作为边长来画正方形,然后以正方形的边长为直径画一个四分之一圆,就得到了漂亮的螺旋图案,把这个图案跟鹦鹉螺的图案比比看。
还有奇妙的:两个连续的斐波那契数的比非常接近黄金比1.618034……两个连续的斐波那契数越大,它们的比就越接近黄金比。
在自然界中还有更惊奇的呢!一些花的花瓣数量竟然暗中符合斐波那契数列:鸢尾花、百合花是3枚,飞燕草是8枚,瓜叶菊是13枚,向日葵有的是21枚,有的是34枚,雏菊的花瓣有34枚、55枚或89枚。
下面我们编写程序,输出更多的斐波那契数:
a1=1
a2=1
a3=0
for i in range(1,50):
print(a1,end='')
a3=a1+a2
a1=a2
a2=a3
这里先给前2个数赋值,然后打印出第1个斐波那契数。再通过
a
3=
a
1+
a
2求出第3个数,接下来,将第2个数赋值给
a
1,第3个数赋值给
a
2,继续求出下一个斐波那契数。
上面的语句还可以简化成:
a1=1
a2=1
a3=0
for i in range(1,50):
print(a1,end='')
a1,a2=a2,a1+a2
这段代码更加优雅,将原来的最后3行合并为1行,结果与原来一样,也是第1个数字替换为第2个数字,将原来的第2个数字替换为第1个数和第2个数之和。
TV6G7EaN2TcttwrlqqqH+1nmS0iRkibG+JU524EYbfMC0eKiSMQWRk7v+PLN/iXn