![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=1738919336-x05TA3YlOzkURpvuIZv0Z08ycXKBCURw-0-eba115e8f7f2d74e36ef27859032940d)
运行结果如图5-33所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61931.jpg?sign=1738919336-Xhob5cj1lgz06qZv8eO36HjRGHlWfEHB-0-243a01fb1fbc71086829d2dd174228ba)
图5-33 运行结果
用户也可以使用range()函数指定区间的值。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_106328.jpg?sign=1738919336-9533HyLHBzhUSIaelIwUyoOqTbolSmOe-0-749c724a0c8ba6524f1f5597f84a8b35)
运行结果如图5-34所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61948.jpg?sign=1738919336-LHggtyHzYQBexnExXD0QcgqLdAFEJR87-0-764ef131a9eee092ac98e41b0b349932)
图5-34 运行结果
使用range()函数还可以指定数字开始并指定不同的增量。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_106330.jpg?sign=1738919336-XgONnEcC880ijualsmph1cIsZ4TqWmRR-0-97a645315de707d0a41ffe665879dc17)
运行结果如图5-35所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P130_61965.jpg?sign=1738919336-G4WZt1SKXIg12woomJ9iaZIH95vS5y6E-0-a96b39b54dec825bfbafb01cb12c5885)
图5-35 运行结果
从结果可以看出,增量为10。增量也可以使用负值。例如:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_106332.jpg?sign=1738919336-oQjzm2jeo6Z4ohULqpegkQRmTMghFYnT-0-27406e2d5a2655068d5cff862908c8e0)
运行结果如图5-36所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_61992.jpg?sign=1738919336-efqi8eZilmyT5nGzXvy03KEunye9eDBi-0-efb44414750a98daceacebc0e53b3459)
图5-36 运行结果
通过range()和len()函数的配合,可以遍历一个序列的索引。
【例5.15】遍历一个序列的索引(源代码\ch05\5.15.py)。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_106333.jpg?sign=1738919336-5pTBQSjDOdrceehoY61D84bgv4OcyZOx-0-d9295a8548ca1d1a9da4c8afa521aee8)
保存并运行程序,结果如图5-37所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P131_62015.jpg?sign=1738919336-IQLzg3gg9xUdBHiMZC5yOcYmWJODyYpK-0-d6297c633eddb266512e732552952e07)
图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=1738919336-KGUmxcNz5gQbu6uDyvyLGKMohfHO6QjV-0-a3afbf364b363bdd3216169c7047c20f)
图5-38 运行结果
疑问3:如何使用if语句实现数字猜谜游戏?
在if语句中通过使用比较运算符,可以实现数字猜谜游戏,代码如下:
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P132_106335.jpg?sign=1738919336-vpHtFVp4xHmfdbThGHN4G26y5UzxHN6H-0-efc3deef515d426968a59387b766938c)
保存并运行程序,结果如图5-39所示。
![](https://epubservercos.yuewen.com/1492BD/15253385804109006/epubprivate/OEBPS/Images/Figure-P132_62135.jpg?sign=1738919336-rR3VJEaRKKSw2q35baU116Vh2eHJuEV9-0-5ee39e2af4cb7fc5363ba1da325133cb)
图5-39 运行结果
在本示例中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜游戏。