上次看了小海龟转圈子的例子,不知大家注意到没有,小海龟留下的轨迹只是单一的黑色。能否加上一些颜色,使得图案更加美观呢
下面就是加上了颜色的例子
与前面文章的图形相比,图案的线条由黑色变成了红色。是如何做到这一点的呢?
按照前面文章的说明,打开在线编写python的网页
在编辑区输入或复制下面的内容
import turtle
t = turtle.Turtle()
t.pencolor('red')
for x in range(1,50):
t.circle(x)
t.left(90)
然后点击"Run",得到如下的结果
与前面画圆的源代码相比较,只是添加了如下一句
t.pencolor('red')
这一句表示将画笔(pen)的颜色(color)设置为红色(red)。由此我们可以推测,
要将画笔的颜色设置为黄色,应该执行
t.pencolor('yellow')
要将画笔的颜色设置为蓝色,应该执行
t.pencolor('blue')
要将画笔的颜色设置为绿色,应该执行
t.pencolor('green')
有了以上设置画笔颜色的基本知识,请思考一下以下这个图形该如何生成呢?
以下是一个画出上述图形的解决方案,可与你自己写的源码比较一下
在编辑区输入或复制下面的内容
import turtle
t = turtle.Turtle()
colors = ["red", "yellow", "blue", "green"]
for x in range(100):
t.pencolor(colors[x%4])
t.circle(x)
t.left(90)
然后点击"Run",得到上述的结果
比较前后两次的源代码,关键的变化是
......
colors = ["red", "yellow", "blue", "green"]
......
t.pencolor(colors[x%4])
在此处,x%4 表示x除以4的余数。由于在循环中,x从从1逐渐变大,取余数后其值就不断地重复取值1,2,3,0,而colors是一个存放有4个颜色值的列表。colors[0] 的值就是"red"
colors[1] 的值就是"yellow"
colors[2] 的值就是"blue"
colors[3] 的值就是"green"
所以在循环过程中,colors[x%4] 不断地重复取值:“red”,“yellow”,“blue”,“green”
给合前面的例子可知,在循环的过程中,就会不断地重复画出 “红色的圆”,“黄色的圆”,“蓝色的圆”,“绿色的圆”
累加的效果就是上面展示的彩色图形。