![超好玩的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=1738886718-CJd0M9iffvhLn3r3UHXGTEU303ftycnQ-0-b74b9230a634ed581826e4dbcac60a2d)
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=1738886718-NQY3E3fXrFIJ8KOOHz5CiDHde2SXDihZ-0-108174170a46e0d39f934ea995ca3ff1)
图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=1738886718-pBuk8ZRhTwktMque2d8CDffBWogsgFxw-0-d96ba07329e2907371b4905704d850cd)
图2-10 range() 函数的用法
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_01.jpg?sign=1738886718-TWxy1UUlMB4yLFWKFbzQWDQCqnnDDktQ-0-de25f26cf9505326a1d360e4d0e97218)
图2-10 range() 函数的用法(续)
接下来我们用range()函数创建一个列表,如图2-11所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/39_02.jpg?sign=1738886718-TPVX00h2H3k9g7DSX5zmaIKHNUtOi7B7-0-e2ef5e6616147ee78f71c9c23e20fe93)
图2-11 创建一个列表
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_01.jpg?sign=1738886718-JANaYyzW4aj8wfCubcF8KgHfE83slcqH-0-00c3516e7603e7a5bed030b8b5276609)
图2-11 创建一个列表(续)
2.3.2 for循环让程序变身
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_02.jpg?sign=1738886718-IDlgb2O1xQPb7ChmTOEkrqYymvksfVlw-0-95302ac4b467752dad55de1da79f4148)
for循环让程序变身
通过上一节的学习,我们掌握了绘制五边形的方法。按照上一节的方法,如果我们想绘制200边形,需要写200多条代码。那有没有简单的方法来绘制多边形呢?答案是肯定的,利用for循环语句,可以用行代码代替大量重复的语句,如图2-12所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/40_03.jpg?sign=1738886718-mXk8l7WdE6Le1rW8rO2WrfJGUrWwKmNO-0-166ab0cb69f2a637a55b39f2f2e076b2)
图2-12 利用for循环编程
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_01.jpg?sign=1738886718-r5Kp8ITP3CPTHOFIMS5iwgqMGkJopUuc-0-b449126b3345dd45cb1dc06d53e8d701)
图2-12 利用for循环编程(续)
下面我们利用for循环绘制一个正八边形。绘制正八边形时,每次的旋转角度应为45°(360°除以8),循环次数为8次,如图2-13所示。
![](https://epubservercos.yuewen.com/66CB85/17977545501604506/epubprivate/OEBPS/Images/41_02.jpg?sign=1738886718-k09qVZzvK1E8MC3Q7RIojcPkXwkdehyU-0-9348068f8caaa3b05ec84eddacfabfcc)
图2-13 绘制正八边形