![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=1739622595-DsGWvAR3X7pch2Ekzrw07MfmnW01gluP-0-4375d77c4225469b61ad1b14dd94ce7b)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11303.jpg?sign=1739622595-t683SdTKbeSGOSZx0zoXU3pQrfdI3lwK-0-04818861e77b8c2ceafa0633823bd6d7)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57352.jpg?sign=1739622595-8LTldVhFegsuRaJg1SgOj2t9BUO60U2v-0-1955d8292b979f5b2f4be9415fbfdc15)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11326.jpg?sign=1739622595-drXadSEpcxzqBxUbYSSwhCsrzAJIGkGp-0-c44f5a41a3c76345a7d0e4f8f5337789)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57353.jpg?sign=1739622595-yd06mXmf9ttpcHZcHVgxHavFy3PlzGNm-0-31fe6291727fd93b8cc8f293a4813639)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_11350.jpg?sign=1739622595-ZNwyjEXRabgBgZNiKY7lkCsFeGSKXhLq-0-401856f8ec08486c26f12c28386e3825)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P116_57354.jpg?sign=1739622595-rggB4db7mgjliETQqVgHbh4XQfCfxPJT-0-18cde8aef54b10a63ab6275bd36a18ab)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11382.jpg?sign=1739622595-3cyXBxBI16N042ecaTysF7zIzYfxe6XC-0-3860fa64702bd9c1e4c736c3051b598a)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57355.jpg?sign=1739622595-SjAfBOw3m5KyalzzpUrKzvVb4G49DLJr-0-b1928d349acd3314fb03f220698738e1)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11413.jpg?sign=1739622595-TZduTSFCLQfZQihyhADd5Vto3RzvSzUy-0-1a5a786e7358023a747a8f7f37bc3848)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57356.jpg?sign=1739622595-2JzY0rFqXPzjJJSsAWAJDQhQ5IuQHTtu-0-1e431fc66c36a8f0b96a0768c693ed48)
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_11443.jpg?sign=1739622595-tD3O6nvLgObQVNS8q07bE4w0OSe5PdbY-0-de0eb01f7c8a61a88a69ed2c086efab1)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P117_57357.jpg?sign=1739622595-pNEgdrc5IrnUPAf1f5jU5hSVpoYCdfeY-0-7628a92b0e9d2d0dadaba589553b8960)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P118_11539.jpg?sign=1739622595-AGdP2IGmJQno4H2xq8BgWiTJXEQ72nDG-0-4cf67bf99803c64aead9bc8ee87ccb0e)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。