- Python 3.7从入门到精通(视频教学版)
- 王英英
- 461字
- 2021-04-02 20:44:57
5.8 疑难解惑
疑问1:如何遍历序列?
如果需要遍历数字序列,通常会用到range()和len()函数,结合循环控制语句,将起到事半功倍的效果。
使用range()函数会生成数列。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P115_57349.jpg?sign=1739411303-erQ71gKVa4XoGBSCe3n108XZNqFXGDvp-0-bd1cde97279c812961ff5f54d0626ccb)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11303.jpg?sign=1739411303-scgiaEXQKKXVOZdin8NkTn7FPNGlercY-0-4277941562759ad1f4cf4e4749e5f8f1)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57352.jpg?sign=1739411303-kDiPtLJvy9SNnkGj4ngIiTRZktdJyHMK-0-2081a4509c34e8252312c48d1d3ea1a1)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11326.jpg?sign=1739411303-LeFzTHKKpU65thKy4M3jIw5xJo1JxHKm-0-b78aeb8b40ab635863b8133517026c6a)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57353.jpg?sign=1739411303-hJ41fcFRDU5hPtSVdrHBf6lfU5VSj3ns-0-aa55b773abacafc5e95ca8635c675317)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11350.jpg?sign=1739411303-lMzBoP1FIWHlLRbxVe8cYxfErA0OMQUn-0-3f60f76e96d8382c35a8edd9a4432aa0)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57354.jpg?sign=1739411303-tlhmOV7wqoy8lDCohDBSLhSc0SJLQGsq-0-5e692b5d8b5cedae9fce6a7e7416af9d)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11382.jpg?sign=1739411303-kxzV7kHO0U7eXbt2TCXXGccxgoJAi1nB-0-ba4056051dc1d95001dcdb156576a641)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57355.jpg?sign=1739411303-0WZIq7mLRBiwMzU9nJphxMbJKBPJSLMf-0-03879de2d6fc92a01204da0ce1d06fb9)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11413.jpg?sign=1739411303-XbBMhS4EXwI0LlGRfC9YaONDLn7ESlfD-0-67fae77c9f74dc0d61ab2e4642617095)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57356.jpg?sign=1739411303-LTHlNcoVwWGJqNJJ9KH3HlilKbRmmup6-0-7ed54fdf745f12059b1024a30afa4659)
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11443.jpg?sign=1739411303-3rhMWsMfe7njalhKOTFYOxQS1YEXNAju-0-77789f887c1d2137ab6b377e1bb2fe2e)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57357.jpg?sign=1739411303-Gzk3ojXz1SDcdZyl0Gy74xo4NPu6GqU3-0-94a5cc4c39f5ad6d645190d843998695)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P118_11539.jpg?sign=1739411303-NLqQ2j3a74pGfLIcXT9ysANp8OmDEvHl-0-c294d669bfc6344f23f8a48c57e34a90)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。