零基础学Python编程(少儿趣味版)
上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。如何用区间表示这样一个倒计时报数?