![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=1739531418-xM5gPJmlq0Pk0NmQdxQKFbKn64ZGsdAH-0-a1a52bdfa237951571b51889888baaa5)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11303.jpg?sign=1739531418-ZvgsOBWBhugExres9RdCZyORjVxhr4HB-0-d2bcb3bf53e9254e32f000d7c751efeb)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57352.jpg?sign=1739531418-JiZkyGtkKVrryUmxs5nGXfwI0NeHzOpN-0-4735c0f297e6547a5ffb5c9951e6e4d0)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11326.jpg?sign=1739531418-hFDNQ2vWswVyzuDs3CXOqqWLhXILQ8Z3-0-f733c4700909199b3cc04233f1bc0b03)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57353.jpg?sign=1739531418-JZK7EpQHXk5EzHUyBiK9MwdABpFBo27e-0-64da4540fca5567140bcd2ae62eadb6f)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11350.jpg?sign=1739531418-GQAxivk1GhKdEv0mgysV6hDJe5VLxOGM-0-5b05024a8c6a894506d25f275fa16ba0)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57354.jpg?sign=1739531418-rbZKyz6mrWo6bCeDR2cMPqYjvm0NxH3n-0-89b1bf612a59608c034768d2d3c8f968)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11382.jpg?sign=1739531418-aF6LCJKZPrsvNwBDrEBIpT6hNrlw7GFb-0-e67fded9f83665a5cd7c9b0e03cd7e94)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57355.jpg?sign=1739531418-u7jBwWR7bq6W2jUWf75cyuexxrQswLNU-0-18b1de3baa352ea2f1e45a059bd7f88a)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11413.jpg?sign=1739531418-f5adAVD7v8PxiwGWa7r5WFp0AJkENx7G-0-25ea24a27811664e26c78f7868dfc38c)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57356.jpg?sign=1739531418-KoC6Z9Jeg0OZ5GJOtKylbrEj3Z3zTwy1-0-a152fe1b4a39f25abecab6429abf3ba9)
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11443.jpg?sign=1739531418-Re2fLIMhrIsEHqp6wZrqKOzUKGXyOFtt-0-7ce57cfff2613c5152474ff86e382822)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57357.jpg?sign=1739531418-DbcwacT5oZpMmodQIO10EUarmJLw0FJK-0-2789acea55100fd185a6f9ef75416065)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P118_11539.jpg?sign=1739531418-CK0HLsbc1NSeGPaspMCZuAcqE0gQ4KvN-0-bcce49f9a11fa66fddedfe324ef825d6)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。