![Python 3.6从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/593/26793593/b_26793593.jpg)
上QQ阅读APP看书,第一时间看更新
5.8 疑难解惑
疑问1:如何遍历序列?
如果需要遍历数字序列,通常会用到range()和len()函数,结合循环控制语句,将起到事半功倍的效果。
使用range()函数会生成数列。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P129_106326.jpg?sign=1739530463-ylU2krce3KmVrEramKikB6zu9zJUdWaP-0-4e618edb86f58c65983d69192f025c58)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61931.jpg?sign=1739530463-tZxQncyYtfjtT0zkm2WIXrb9gOlUcGES-0-6712b161f2c9726a2c5c91131e619987)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_106328.jpg?sign=1739530463-i0TSrJzMzCmBNd4GL8t0tzchz2GQ29X9-0-b8d5bf6ae2e2eaed3862d687cd6b37f9)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61948.jpg?sign=1739530463-q3Uv9CxDb0daz3A9Se3Bdj1Dr3EnCRGh-0-63686f38c0631c961d31cab2aa224ef8)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_106330.jpg?sign=1739530463-2xb8xXXHFrPg9ggYpRk1BVj4Jj6ud2pD-0-76e6682b9e2ba0cf61054b55cc4a2b9b)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61965.jpg?sign=1739530463-nSW8pM7wJC66G61n7vkiyFF9u3DDbjen-0-b832626d919a6c3ec9070020b6580d0e)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_106332.jpg?sign=1739530463-lXOKAugmHNgsI8rEIOdHygVo2F03uGJY-0-760a0d4c42a760a4cdc3f5e312a2a202)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_61992.jpg?sign=1739530463-waP6KbTuiuBcBSH4FHbiOGs1LXDR1VGt-0-b69775675b21ee4289b48dbbc457171c)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_106333.jpg?sign=1739530463-oiU9ZmyffRjZBwdnTFFoteqxxTslUls5-0-10a0fcc1fd86890dbc1f04269f8e543b)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_62015.jpg?sign=1739530463-dMLO5M3Ysdq8NwUNTckVgPFsBwiGC20E-0-e1e28aea5183c11b4345f2dc1b8fb3f1)
图5-37 运行结果
疑问2:如何求取圆的面积?
求取圆的面积需要调用math.pi的值。在调用之前,需要引入标准库中的math.py模块,代码如下:
>>> import math >>> r=10 >>> print ('半径为10的圆的面积是:',math.pi*r**2) 半径为10的圆的面积是: 314.1592653589793
运行结果如图5-38所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P132_62053.jpg?sign=1739530463-7dNR82HtFPiUwgI0Qtxj4xknL4HBlvkt-0-04e382b2876ee68f4de1743461593033)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P132_106335.jpg?sign=1739530463-shID3hsyC3U6u0Cazpa38JuLT5big4wq-0-8d23ac5907fd4eef77944f12f3f2ddc7)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P132_62135.jpg?sign=1739530463-pHFcJUv2HKdtvuCg0Bl50ZGZeOpYfJPW-0-6875f5504aa3266783121bea36fa3752)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。