本节书摘来自异步社区《教孩子学编程(Python语言版)》一书中的第2章,第2.5节,作者[美]Bryson Payne,李军 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.5 一个变量搞定一切
到目前为止,我们已经使用变量来修改颜色、大小以及螺旋线形状的旋转角度。让我们再添加一个sides变量,来表示形状的边数。这个新的变量如何改变我们的螺旋线呢?如果要搞清楚这一点,我们尝试这个新的程序ColorSpiral.py。
ColorSpiral.py
import turtle
t = turtle.Pen()
turtle.bgcolor(“black”)
# You can choose between 2 and 6 sides for some cool shapes!
sides = 6
colors = [“red”, “yellow”, “blue”, “orange”, “green”, “purple”]
for x in range(360):
t.pencolor(colors[x%sides])
t.forward(x * 3/sides + x)
t.left(360/sides + 1)
t.width(x*sides/200)
我们可以将sides的值从6改为2(1个边并不是很有趣,也不能使用太大的数字,除非我们在程序的第6行中的列表中,添加更多的颜色),然后保存该程序并且可以运行任意多次。图2-8展示了用sides=6、sides=5,一直到sides=2所创建的图像,其中sides=2的图像很奇怪,这就是图2-8(e)所显示的扁平的螺旋线。我们可以改变列表中的颜色的顺序,也可以在绘制循环之中的任意函数中,使用较大一些或较小一点的数字。如果把程序给搞乱了,我们只需要返回到最初的ColorSpiral.py程序重新来玩就好了。
ColorSpiral.py程序使用了一条新的命令t.width(),它修改了海龟钢笔的宽度。在我们的程序中,随着钢笔绘制的形状越来越大,钢笔变得越来越宽(其线条变得更粗)。在第3章和第4章,我们学习创建程序所需的其他技能的时候,还会再次遇到这个程序以及其他类似的程序。