![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
上QQ阅读APP看书,第一时间看更新
5.8 疑难解惑
疑问1:如何遍历序列?
如果需要遍历数字序列,通常会用到range()和len()函数,结合循环控制语句,将起到事半功倍的效果。
使用range()函数会生成数列。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P115_57349.jpg?sign=1739576635-c2Af2nrCMGyZHFJMBnIe10R5gwB4g4vT-0-e2a5c44de1a573f152a20415df332ee0)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11303.jpg?sign=1739576635-0Jdnf3hlDmw0HrkfmsJup3VBKdKDfg8s-0-9b108b745fbd25dddd61c702690d6727)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57352.jpg?sign=1739576635-iM26vD3PW2Px54VQp9ZhQxfuLwUWZ80P-0-39afef229d020740cdb4b1d3752b7fcc)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11326.jpg?sign=1739576635-Vijbw9sVPKSAJpvz1hnwN0rKS5Xfd5Bz-0-5fb42eb5af894237d1655f2aff589e28)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57353.jpg?sign=1739576635-ZTt79G8v6F7QvIia87BBVr6xzswxOFZe-0-15939a1cf730ecd14fcea73e58d1a09d)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11350.jpg?sign=1739576635-yYGeLgOAVTJiUhMHb4EbEtB5LhkKh3zO-0-24d8f6229cd5a8a7dba089bcf2bd34e5)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57354.jpg?sign=1739576635-FXZBNGg4JFSDc4XYf4OKlEdMKME66Sfa-0-d02a46ff3a198f681b4eb63c8deb6fb9)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11382.jpg?sign=1739576635-ulISlz4FrC9oqchenNqG7SqRaabLpE5z-0-6991d1f41bdae2b142699479177a308f)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57355.jpg?sign=1739576635-gkSJz1wSWYP2lTxbWbKLebzEnwUjAad6-0-85d6b7be120e815fcc08c2723eb277bb)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11413.jpg?sign=1739576635-gm6yxn6M3cCXz4zuEKccI6NPgAdDnkSI-0-fe758fa7becc6e814681233ac90023eb)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57356.jpg?sign=1739576635-PYM5ufwr4ZmbeTBsLaZxM3IRinlKOG5E-0-df494a9ec7480be328eb2c60fba2df55)
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11443.jpg?sign=1739576635-FEZ4wXR1ww6Oq3KvUg5x4fT0mwEv6bJo-0-ae5057ad242faf0161d1de4659ab6b8d)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57357.jpg?sign=1739576635-03LG64HEHOsVGYIaJO2TWUgQn4ZK9DFO-0-c7dd6e74269403a65d6a363142887fc4)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P118_11539.jpg?sign=1739576635-gbSYxxDpktBZjAkJG39qtrxS5rUztC5n-0-1db7be9692e69a99906cc7c26dbae8e4)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。