1.2 初步走进编程之门
当然,我们可以运用python实现更加复杂的任务而不仅仅是两个数的相加,例如,我们一个斐波拉契数列的子数列:
>>> # Fibonacci series: ... # the sum of two elements defines the next ... 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)满足,则while循环语句就会执行下去。在python语句和C一样,任何非零整数的值是真的,零为假的。条件也可以是一个字符串或者一个列表值事实上都是序列。 非零长度的字符串是真的,空字符串是假的。 可以做个简单的测试,标准的字符比较操作符和C中的一样,< > == <= >= !=
接着, 循环的主体是要缩进的,随进符是分类语句的python方法。在相互交互提醒符中,必须输入一个tab或者空格为每一岁缩进行。事实上,你可以再文本编辑器上为python准备更加复杂的输入。所以常规的文本编辑器都有自己缩进属性,当符合语句交互输入时,必须由空行来标记结束。注意包含基本代码块的代码行必须缩进同样的字符长度。
最后,print输出表达式被赋予的值,这与你想要写的表达式(上节在计算器例子中)不相同,所使用方式与处理重复表达式、浮点数量和字符串的一样。字符串打印时没有引号,会在字符串之间插入空格,因此你能更好的格式化这些字符串。如下:
>>> i = 256 * 256 >>> print(’The value of i is’, i) The value of i is 65536
在输出之后可以用关键字结束符来避免新行,或者用不同字符串结束输出。
>>> 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,