Python:海龟绘图(三)

上节课结束后,我们还留下了正八边形没有画,还留了正二十边形供大家挑战。今天我们来“各个击破”。不要看着越来越多的边数发愁,有了“循环”神器,分分钟搞定!


我们先用“循环”神器改造一下上次的“五角星”程序试试。


首先从“File”菜单“Recent Files”中打开上节课编写的五角星代码文件。然后在需要重复的部分(移动语句和旋转语句)上方插入一条循环语句(如下图):

13717732-33aa829b7fe5f83d.jpeg

代码解析:

在上面的代码中,我们很容易发现,第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循环语句后面的冒号

将剩余的移动和旋转语句删掉,即得到最终的代码(如下图)。是不是简洁多了呢?


13717732-b1cbe1518b395c30.jpeg


好,有了这个基础,正八边形也就水到渠成了。只需修改角度循环次数即可。根据上次课的几何知识,我们知道绘制正八边形每次的旋转角度应为360➗8=45(度)。循环次数自然就是“边数”了,也就是“8”。修改后的代码如下图。如果觉得边长(也就是每次前进的步数)为100有点太大,可以改小些。有了循环神器,这个也只需改一个地方就行了。


13717732-0252e35f53d326c6.jpeg

有了正八边形的基础,正二十边形还是问题吗?别说正二十边形,正二百边形咱也不怕了!

在今天的项目中,我们:

了解了“缩进语法”的特点和使用方法;

学会了“指定次数的for循环”语句的使用方法;

初步了解了“range列表”的含义和使用方法;

学会了使用“for循环”来绘制正N边形并改变其边长的方法。


⚠️ 循环又是一个在程序设计中几乎肯定会用到的内容,今后的学习中会反复用到。

 

课后思考:

 

从刚才绘制正八边形的程序,修改为绘制正二十边形的程序,需要修改“循环次数”和“旋转角度”两个地方。虽然修改量已经很少了,但我们还要追求更高的目标——能否只修改一个参数就达到我们的目的呢?答案当然是肯定的。

提示:定义一个与“循环次数”和“旋转角度”都有关的变量。

猜你喜欢

转载自blog.csdn.net/weixin_33721344/article/details/87174214