美文网首页
我的python学习笔记-第八天

我的python学习笔记-第八天

作者: Jaesoon | 来源:发表于2017-08-20 23:53 被阅读31次

    先编个小程序

    我们尝试来写一个斐波纳契数列。
    先说下啥是斐波纳契数列。事情是这样的:
    斐波那契数列(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.

    相关文章

      网友评论

          本文标题:我的python学习笔记-第八天

          本文链接:https://www.haomeiwen.com/subject/jzvqdxtx.html