3.2 编程第一步
当然,我们可以用 Python 做比把两个两个的数相加更加复杂的任务。比方说,我们可以写一个 Fibonacci 数列(斐波那契数列) 的开头的子列,如下所示:
>>> # Fibonacci 数列:
... # 两个相邻元素的和等于后一个元素
... a, b = 0, 1
>>> while b < 10:
... print(b)
... a, b = b, a+b
...
1
1
2
3
5
8
这个例子向我们介绍了一些新的特性
第一行包含了一个 多重赋值:变量
a
和变量b
同时被赋值为 0 和 1。最后一行再次用到,右侧的表达式在所有赋值发生之前都被求出值了。右侧表达式从左至右算出了值。只要条件 (这里是
b < 10
) 是 true (真),while 循环就会执行。就和 C 语言一样,在 Python, 中任何非零的整数值都是 true ,而 零 是 false (假)。条件也可以是一个字符串或者列表,事实上,可以是任何序列。任何长度非零的数据都是 true,空的序列为 false。这个例子中的用到是一个简单的比较。标准的比较操作和 C 语言写法一样:< (小于), > (大于), == (等于), <= (小于或等于), >= (大于或等于) 以及 != (不等于)。循环体 是 缩进 的:缩进是 Python 中组织语句的方式。在交互式命令行中,你可以按下一次 tab 或者若干次 空格 来缩进每一行的代码。在实际应用中,你用文本编辑器将会进行更加复杂的 Python 编程。比较好的文本编辑器都有自动缩进的功能。当一个复合语句交互式地输入的时候,后面必须跟上一个空行用来代表一个符合语句的结束 (因为语法分析器不知道你什么时候输入了最后一行代码)。注意,每一组在同一个基本代码块中的行,缩进量都必须相同。
print() 函数在控制台写出传入的参数的值。它和你直接想输入的表达式有所不同 (就像前面的例子中说的那样),这种方式下,它可以处理多个参数,浮点量,还有字符串。字符串在输出的时候不带引号,并且空格会被插入在输出的元素之间,这样你就可以漂亮的格式化一些东西。就像这样:
>>> i = 256*256
>>> print('The value of i is', i)
The value of i is 65536
关键字参数 end 可以用来防止每一次输出结果末尾的换行,或者用另一个字符串来做结尾:
>>> a, b = 0, 1
>>> while b < 1000:
... print(b, end=',')
... a, b = b, a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,