Python是一门功能强大的编程语言,它不仅可以完成简单的任务,还可以处理更加复杂的问题,比如利用Python编写代码生成斐波那契数列的初始子序列,斐波那契数列是一个经典的数学问题,由0和1开始,后续的数是前两个数之和,可以快速生成斐波那契数列的初始子序列,拓展我们的编程能力。
斐波那契数列
编写斐波那契数列的初始子序列,如下所示:
>>># Fibonacci series: ...# the sum of two elements defines the next ...a, b = 0, 1 >>>while a < 10: ... print(a) ... a, b = b, a+b ... 0 1 1 2 3 5 8
上述例子中引入了几个新功能:
- 第一行中的 多重赋值 :变量 a 和 b 同时获得新值 0 和 1 ,最后一行又用了一次多重赋值,体现了,等号右边的所有表达式的值,都是在这一语句对任何变量赋新值之前求出来的——求值顺序为从左到右。
- while 循环只要条件(这里是 a < 10)为真就会一直执行。Python 和 C 一样,任何非零整数都为真,零为假。这个条件也可以是字符串或列表的值,事实上,任何序列都可以;长度非零就为真,空序列则为假。示例中的判断只是最简单的比较。比较操作符的写法和 C 语言一样: < (小于)、 > (大于)、 == (等于)、 <= (小于等于)、 >= (大于等于)及 != (不等于)。
- 循环体是缩进的 :缩进是 Python 组织语句的方式。在交互式命令行里,得为每个缩进的行输入空格(或制表符)。使用文本编辑器可以实现更复杂的输入方式;所有像样的文本编辑器都支持自动缩进。交互式输入复合语句时,要在最后输入空白行表示完成(因为解析器不知道哪一行代码是代码块的最后一行)。注意,同一块语句的每一行的缩进相同。
- print() 函数输出给定参数的值。除了可以以单一的表达式作为参数(比如,前面的计算器的例子),它还能处理多个参数,包括浮点数与字符串。它输出的字符串不带引号,且各参数项之间会插入一个空格,这样可以实现更好的格式化操作:
>>>i = 256*256 >>>print('The value of i is', i) The value of i is 65536
关键字参数 end 可以取消输出后面的换行, 或用另一个字符串结尾:
>>>a, b = 0, 1 >>>while a < 1000: ... print(a, end=',') ... a, b = b, a+b ... 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,