我的python学习笔记-第八天

2017-08-20  本文已影响31人  Jaesoon

先编个小程序

我们尝试来写一个斐波纳契数列。
先说下啥是斐波纳契数列。事情是这样的:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、
可以看出,这个数列从第3项开始,每一项都等于前两项之和。
问题如下:一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对
两个月后,生下一对小兔对数共有两对
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对
以此类推

月份 第一个月 第二个月 第三个月 第四个月 第五个月
成年兔 0 0 1 1 2
未成年兔 1 1 1 2 3
总对数 1 1 2 3 5
#!/usr/bin/python3

# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
    print(b)
    a, b = b, a+b

输出:

1
1
2
3
5
8

这个例子介绍了几个新特征。
第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。
最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。
The first line contains multiple assignment: the variables a and b simultaneously get the new values 0 and 1. On the last line this is used again,demonstrating that the expressions on the right-hand side are all evaluated first before any assignments take place. The right-hand side expressions are evaluated.

上一篇下一篇

猜你喜欢

热点阅读