![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=1739530860-kSc4gInMXzGS4f07S2ruZ0Iv95tyAzfb-0-6e5624baa85967ba27343d98af1f9fff)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11303.jpg?sign=1739530860-PBYQla0f5AX68EmXEJQ86yaDBCbO7m3Y-0-755616f278bb6f2a2ac1b00005f28051)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57352.jpg?sign=1739530860-OpYzLoWHBzVKYloftkMj87weLoeRKeH9-0-e22891e11bac4dec808323de1d7e5e24)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11326.jpg?sign=1739530860-AVgdG0i8c2Fa2MgKCttNTtlbUagr48AR-0-a0e1276df913d66136ba1435d71673a2)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57353.jpg?sign=1739530860-LkV2BLe5vE4DhWUggqnINwf8lmXrK6YI-0-6de13643112b920878b57b62cb971957)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11350.jpg?sign=1739530860-O4eirPhEFEko0X2YvQdyPeYXiJif3Mp4-0-f4b3139849661db87cf3b3fa162d1876)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57354.jpg?sign=1739530860-2NCrruioB6Q2WnGMD0FVIOF5YP7amM9d-0-98c90b62a4d50b270e55d9b6dca250aa)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11382.jpg?sign=1739530860-XQ6zdrvhhom7kjCXmwqVWuNcJBQRNshK-0-ff356f56b5d179cb52218a304f89a759)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57355.jpg?sign=1739530860-T6F5FrKRE1YdaW96QRtoKB2Psu6YW8wo-0-71ad59e2554559b7afe58ce7fd5c8465)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11413.jpg?sign=1739530860-ayOUzVvt3YbIspcnouAPTAxgzCDlfuSS-0-f1afd8dfd4b7cfd01ce7ee506b4db25d)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57356.jpg?sign=1739530860-nYHRCbVEUze90KKbar9dbVvUfY8ZfyoJ-0-ced9dffd0ef1faad63ed5a73d4ebbf69)
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11443.jpg?sign=1739530860-mB0UAy199wlNmwjcKKgwdWJVNZcaBkHr-0-f360ae4133fb57c25665ea21717f8b0c)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57357.jpg?sign=1739530860-QoAZ3PE0g8Ypgc8EspiaEE9m6YCHPRvI-0-64dbdccbf3404a18eb5e89d229372c28)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P118_11539.jpg?sign=1739530860-lzUXPpNh4rKLAxLUy7X8RrqMoBKoONvH-0-645832b5cb0e5b0a3ceb49709dd4d218)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。