上节课结束后,我们还留下了正八边形没有画,还留了正二十边形供大家挑战。今天我们来“各个击破”。不要看着越来越多的边数发愁,有了“循环”神器,分分钟搞定!
我们先用“循环”神器改造一下上次的“五角星”程序试试。
首先从“File”菜单“Recent Files”中打开上节课编写的五角星代码文件。然后在需要重复的部分(移动语句和旋转语句)上方插入一条循环语句(如下图):
代码解析:
在上面的代码中,我们很容易发现,第2行“前进语句”和第3行“右转语句”前面都多了4个空格。这是Python的一大特点——缩进语法。也就是说,需要参加循环的部分,都要比第1行“for”语句缩进4个空格或是一个制表位(即按一次“Tab”键光标向右移动的距离)。熟悉C语言的朋友应该有印象,C语言是通过一对大括号“{ }”来标记循环部分的。Python使用的是缩进。
“range(5 )”是一个由0、1、2、3、4五个数组成的列表,注意,这个列表是从“0”开始,而不是从“1”开始的,这一点再今后非常重要,不过今天可以忽略。我们今天不关心它从几开始,只要是能帮我们记5次数就行。
所以,第1行“for循环语句”整个的意思就是,执行冒号后面缩进的所有语句5次,每次变量“i”都等于列表中一个不同的值——第1次循环时“i=0”,第2次“i=1”,依此类推,直到第5次“i=4”,循环结束。千万别丢掉“for循环语句后面的冒号!
将剩余的移动和旋转语句删掉,即得到最终的代码(如下图)。是不是简洁多了呢?