超好玩的Python少儿编程
上QQ阅读APP看书,第一时间看更新

2.4 漂亮的螺旋线

课程内容

本节课主要通过绘制复杂的螺旋线来深入学习for循环和range()函数的用法。深入了解循环的运行过程。

知识点

(1)for循环的用法

(2)range()函数的用法

(3)绘制螺旋线

用到的基本指令

(1)import

(2)turtle.Pen()

(3)forward()

(4)right()

(5)for循环

(6)range()

前面章节中讲了如何绘制正五边形,本节将结合for循环绘制一个五边形螺旋线。螺旋线的特点是有很多个边,每个边的长度都不一样,是逐渐增加的。比如第1边长为1,第2边长为2,第3边长为3,依次增加。如果用for循环,则每循环一次向前走的距离增加1,如图2-14所示。

图2-14 绘制螺旋线

图2-14 绘制螺旋线(续)

上面的程序是如何执行的呢?

1)首先导入海龟绘图模块,并将变量t设置为海龟的画笔。

2)Python第一次执行循环时,for循环先访问range列表中的第一个元素0(range(100) 会生成从0到99的连续的数),并将0存储在变量x中,变量x的值变为0。

3)执行t.forward(x)语句让海龟画笔向前移动x步。由于x=0,所以画笔向前移动0步。

4)执行t.right(72)语句,让海龟画笔向右转动72°。

5)执行第二次循环,for循环访问range列表中的第二个元素1,并将1存储在变量x中,变量x的值变为1。接着画笔向前移动1步,画笔向右转动72°。

6)执行第三次循环,for循环访问range列表中的第三个元素2,并将2存储在变量x中,变量x的值变为2,接着画笔向前移动2步,画笔向右转动72°。

7)这样一次一次地继续执行,当for循环遍历range中最后一个元素99时,变量x的值变为99,画笔向前移动99步,并向右转动72°。这样就画出一个漂亮的螺旋线。

上面的程序中,如果我们将每次绘制旋转的角度改变一下会绘制出什么图形呢?如图2-15所示。

图2-15 不同旋转角度绘制的图形