![超好玩的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=1739528575-ntJnyE0uX2Dfmpnp3DYqocqCwvsBDHWL-0-b667dda491fcad229abf4f8a180e9460)
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=1739528575-GygKkA4tVyKDdaQ6bY5n0c498QwNTJQd-0-a5098bde65264c4e0594d572ac4a66f7)
图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=1739528575-H3scpuZqgpgLwKufeRs8nt9rp4Wft3od-0-11bd45221bb6f95a34978b6580351739)
图2-10 range() 函数的用法
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_01.jpg?sign=1739528575-nj0O1v0qRaPcKEqIjUbypDbOPBtxwZR2-0-cdf0e7cc62309a9a1986534c32bb9da0)
图2-10 range() 函数的用法(续)
接下来我们用range()函数创建一个列表,如图2-11所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_02.jpg?sign=1739528575-Oz3fCH0e422amXmnJbOwWEy32vU6rqq1-0-03063ae52a4dd438974a21488508eda1)
图2-11 创建一个列表
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_01.jpg?sign=1739528575-3jFI9BTlpig8C4X2BRe9ZugexJwoQ2ZK-0-1d0b9747179bd2e54be1c5fcf3961c3f)
图2-11 创建一个列表(续)
2.3.2 for循环让程序变身
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_02.jpg?sign=1739528575-jbbdZ6Exv50BJwltRbFxIL7TPjXiEhBa-0-c92cc0775bcfed7868e1a3f472474df3)
for循环让程序变身
通过上一节的学习,我们掌握了绘制五边形的方法。按照上一节的方法,如果我们想绘制200边形,需要写200多条代码。那有没有简单的方法来绘制多边形呢?答案是肯定的,利用for循环语句,可以用行代码代替大量重复的语句,如图2-12所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_03.jpg?sign=1739528575-5FdkCY0imsLD7GNAQzwpS2FtvZM6ezDp-0-dabf317215f0f3f9330926ec20fe515a)
图2-12 利用for循环编程
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_01.jpg?sign=1739528575-vU3Co14hE82YKo0A3gR1HxT8pm4KqlG1-0-60c2880fe5837f9769b1b9d5b9166aca)
图2-12 利用for循环编程(续)
下面我们利用for循环绘制一个正八边形。绘制正八边形时,每次的旋转角度应为45°(360°除以8),循环次数为8次,如图2-13所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_02.jpg?sign=1739528575-u4mYdTWMlpmAB6l0udPrPVW3ikwirxPM-0-53d753948c384d969705b01e40d27704)
图2-13 绘制正八边形