![超好玩的Python少儿编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/681/33643681/b_33643681.jpg)
2.3 循环如此强大
课程内容
本节课主要通过绘制五角星和八边形来学习for循环的用法和range()函数的用法。通过学习掌握Python程序中循环执行的过程。
知识点
(1)for循环的用法
(2)range()函数的用法
(3)绘制N边形技巧
用到的基本指令
(1)import
(2)turtle.Pen()
(3)forward()
(4)right()
(5)for循环
(6)range()
2.3.1 难点解析之for循环与range()函数
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/37_04.jpg?sign=1739316490-I2Bvm6M9yqkuxQfcl3d21WYIDWSWvU1P-0-abc2f34b7b7f64f0c2c74e95b21d32a7)
for循环与range()函数
1.for循环
for循环简单来说是使用一个变量来遍历列表中的每一个元素,就好比让一个小朋友依次走过列表中的元素一样。
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素,并存储在变量中。
在使用for循环遍历列表和元组时,列表或元组有几个元素,for循环的循环体就执行几次,针对每个元素执行一次,迭代变量会依次被赋值为元素的值。
for循环中包括for…in和冒号(:),其用法如图2-9所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/38_01.jpg?sign=1739316490-vA5fiRSxiKVChCZ4cZjvcDDl98Iid3yn-0-9a81495970f5949ef1f4ba742541a1f8)
图2-9 for循环用法
注意
上图中的冒号(:)不能丢。另外,“print(name)”语句必须缩进4个字节才会进行参数循环。如果你忘记缩进,运行程序时将会出错,这时Python将会提醒你缩进。
2.for循环的好搭档——range()函数
range()函数是Python内置的函数,用于生成一系列连续的整数,多与for循环配合使用。如图2-10所示为range()函数的用法。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/38_03.jpg?sign=1739316490-7dKFSYQxmKbXXo6BSeH4SQl9XljRzGme-0-b1b01f72a9f38fda020a52e676995e24)
图2-10 range() 函数的用法
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_01.jpg?sign=1739316490-HC4vpJmekkDn1WSoTKC31qte0Lr2X8KA-0-7c86b13f75acba3f884c1a4e1de1e8be)
图2-10 range() 函数的用法(续)
接下来我们用range()函数创建一个列表,如图2-11所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_02.jpg?sign=1739316490-gR50guClp0ENvhH2KMYRVNZzhFILgGRL-0-55237a60f1a143f2575ffc4f1589fd0a)
图2-11 创建一个列表
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_01.jpg?sign=1739316490-tQRerkW5lYJW77ALsXT9Ga1Y9cD3nQyg-0-967be3e061c418fda5644c908ca17a58)
图2-11 创建一个列表(续)
2.3.2 for循环让程序变身
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_02.jpg?sign=1739316490-U2ygyvPDAIW31OQW3Zt6DVqOE4blZyFs-0-787f707ee61f7803f57da8311fc9f8e3)
for循环让程序变身
通过上一节的学习,我们掌握了绘制五边形的方法。按照上一节的方法,如果我们想绘制200边形,需要写200多条代码。那有没有简单的方法来绘制多边形呢?答案是肯定的,利用for循环语句,可以用行代码代替大量重复的语句,如图2-12所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_03.jpg?sign=1739316490-mkl3ahLJFVyzriU1XkkxLwiOQWtLHFhh-0-3092a8652fd669b74d979dbc8d8235fd)
图2-12 利用for循环编程
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_01.jpg?sign=1739316490-32umlTRRluoBxOIt5U3ct7brFdx2YS8Z-0-feb706e5c5bd861a78ea45d92208c3a8)
图2-12 利用for循环编程(续)
下面我们利用for循环绘制一个正八边形。绘制正八边形时,每次的旋转角度应为45°(360°除以8),循环次数为8次,如图2-13所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_02.jpg?sign=1739316490-VBWjTKIqQwnVHMxoYUFr0ojpaZ3wOf6k-0-4458d8e998cb4058c67606b76abb92bf)
图2-13 绘制正八边形