
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()函数

for循环与range()函数
1.for循环
for循环简单来说是使用一个变量来遍历列表中的每一个元素,就好比让一个小朋友依次走过列表中的元素一样。
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素,并存储在变量中。
在使用for循环遍历列表和元组时,列表或元组有几个元素,for循环的循环体就执行几次,针对每个元素执行一次,迭代变量会依次被赋值为元素的值。
for循环中包括for…in和冒号(:),其用法如图2-9所示。

图2-9 for循环用法
注意
上图中的冒号(:)不能丢。另外,“print(name)”语句必须缩进4个字节才会进行参数循环。如果你忘记缩进,运行程序时将会出错,这时Python将会提醒你缩进。
2.for循环的好搭档——range()函数
range()函数是Python内置的函数,用于生成一系列连续的整数,多与for循环配合使用。如图2-10所示为range()函数的用法。

图2-10 range() 函数的用法

图2-10 range() 函数的用法(续)
接下来我们用range()函数创建一个列表,如图2-11所示。

图2-11 创建一个列表

图2-11 创建一个列表(续)
2.3.2 for循环让程序变身

for循环让程序变身
通过上一节的学习,我们掌握了绘制五边形的方法。按照上一节的方法,如果我们想绘制200边形,需要写200多条代码。那有没有简单的方法来绘制多边形呢?答案是肯定的,利用for循环语句,可以用行代码代替大量重复的语句,如图2-12所示。

图2-12 利用for循环编程

图2-12 利用for循环编程(续)
下面我们利用for循环绘制一个正八边形。绘制正八边形时,每次的旋转角度应为45°(360°除以8),循环次数为8次,如图2-13所示。

图2-13 绘制正八边形