
上QQ阅读APP看书,第一时间看更新
2.2.2 区间
元组有一个“亲弟弟”,叫作区间。区间用range(a, b, c)来表示,其中a、b、c均为整数。它表示一个等差数列,首项为a,末项为b,公差为c,c可省略,缺省值为1。比如:
>>> x=range(1,10,2) >>> x[0] 1 >>> x[1] 3 >>> x[2] 5 >>> x[3] 7 >>> x[4] 9
可见,range(1, 10, 2)是一个从1开始的等差数列,公差是2。但是要注意区间中的元素个数,如果继续输入下面代码,就会报错:
>>> x[5] Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> x[5] IndexError: range object index out of range
系统显示:下标越界。因为range(1, 10, 2)中并没有x[5]这个元素。下标越界是使用区间时的常见错误,需要格外小心。
如果省略第三个整数c,则默认公差为1。例如:
>>> y=range(2,5) >>> y[0] 2 >>> y[1] 3 >>> y[2] 4
“区间其实是元组的一个特例,所以也不能改变它,只能使用它。”西西船长说。
【练一练】
飞船发射时需要倒计时报数:10,9,8,7,…,0。如何用区间表示这样一个倒计时报数?