认识小海龟后,接下来看看小海龟的作图本领吧。先从简单的线段开始,看看小海龟是怎么画线段的。画线段只要小海龟往前走就好了,我们找到控制小海龟往前走的方法就可以。
1 新建文件,单击File→New File,进入程序编辑界面。
编写代码:
代码
import turtle #导入turtle库 turtle.shape("turtle") #设置画笔形状为小海龟 turtle.forward(100) #海龟往前走一段距离
2 将文件另存为turtle_7.py。
3 单击Run→Run Module,运行程序。
4 小海龟在屏幕上画出了一条线段。
小海龟画线段使用的是turtle.forward(distance)方法,这个方法的作用是沿着小海龟朝着的方向,向前移动指定的距离(distance)。
turtle.forward(distance)控制小海龟向前走括号里的距离。如果是100,就走100;如果是500,就走500。
学会了用小海龟画线段,接下来画复杂点的图形——正方形。
在画之前,我们先分析正方形的画法。正方形是由4条相同长度的线段组成的,线段与线段之间的夹角是90度。要画成正方形,就需要每画完一条线段,小海龟都朝着同一个方向旋转90度。
画线段的方法我们已经掌握,只要学会了转弯的方法,就可以轻松地画出正方形。
转弯分为左转弯和右转弯,分别用turtle.left(angle)和turtle.right(angle)来实现。
转弯需要角度,大胆猜测一下方法中括号里填写什么呢?
turtle.left(angle):将小海龟朝左转angle度,如turtle.left(90)就是将小海龟朝左转90度。
我们实验一下让小海龟朝左转90度,步骤如下:
1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:
import turtle #导入turtle库 turtle.shape("turtle") #设置画笔的形状为小海龟 turtle.forward(50) #海龟向前移动一段距离 turtle.left(90) #让海龟向左转90度
2 保存文件并单击Run→Run Module,运行程序,可以很明显地看到效果。小海龟画了一条线段,然后朝左转了90度。
turtle.right(angle):将小海龟朝右转angle度,如turtle.right(90)就是将小海龟朝右转90度。
我们实验一下让小海龟朝右转90度,步骤如下:
1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:
代码
import turtle #导入turtle库 turtle.shape("turtle") #设置画笔的形状为小海龟 turtle.forward(50) #海龟向前移动 turtle.right(90) #让海龟向右转90度
2 保存文件并单击Run→Run Module,运行程序,可以很明显地看到效果。小海龟画了一条线段,然后朝右转了90度。
学习了小海龟转向的方法,我们开始画正方形。以左上角为起点,先让小海龟往前走一段距离,再让小海龟右转90度。
代码
turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度
再往前走一段距离,再右转90度。
代码
turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度
再往前走一段距离,再右转90度。
代码
turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度
小海龟再往前走一段距离。
代码
turtle.forward(120) #小海龟向前移动一段距离
正方形就画成了。
步骤如下:
1 新建文件,单击File→New File,进入程序编辑界面,编写如下代码:
代码
import turtle turtle.shape("turtle") turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度 turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度 turtle.forward(120) #小海龟向前移动一段距离 turtle.right(90) #让小海龟右转90度 turtle.forward(120) #小海龟向前移动一段距离
2 保存文件并单击Run→Run Module,运行程序。正方形就画成功了。
我们再来尝试画一个长方形,长方形和正方形有什么不同呢?长方形4条边的长度是不一样的。我们尝试修改一下正方形的代码来画一个长方形。
代码
import turtle #导入turtle库 turtle.shape("turtle") #设置画笔的形状为小海龟 turtle.forward(120) #画笔画长方形的长边 turtle.right(90) #让小海龟向右转90度 turtle.forward(60) #画笔画长方形的短边 turtle.right(90) #让小海龟向右转90度 turtle.forward(120) #画笔画长方形的长边 turtle.right(90) #让小海龟向右转90度 turtle.forward(60) #画笔画长方形的短边
保存文件并单击Run→Run Module,运行文件,长方形就画成功了。
画完正方形和长方形,小海龟要画一个更加复杂的图形——小星星。
画之前我们先分析一下小星星的画法:
·五角星不仅有5个角,还有5条边。
·每画一条线段后都需要旋转一个相同的角度,来画第二条线。
可以分为5步:
1 小海龟先往前画一条线段,旋转一个角度。
2 小海龟再往前画一条线段,旋转一个角度。
3 小海龟再往前画一条线段,旋转一个角度。
4 小海龟再往前画一条线段,旋转一个角度。
5 小海龟再往前画一条线段,就连接上了。
有了思路,新建文件,开始写代码:
代码
import turtle #导入turtle库 turtle.shape("turtle") #设置画笔的形状为小海龟 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离
保存文件并单击Run→Run Module,运行程序,小星星就画成功了。
只是画一个五角星还不太好玩,我们来给小星星的画布设置背景颜色吧。
开始之前,我们先认识海龟绘图的画布。画布就是turtle为我们提供绘画的区域。我们可以设置绘画区域的大小和颜色。可以通过turtle.screensize方法进行设置。turtle.screensize方法有3个参数:长、宽、背景颜色。
长和宽控制着画布的大小,也就是方法前面的两个参数。
现在我们需要设置画布的背景颜色为黑色,制作一个漆黑的星空。把第3个参数设置为black(黑色)即可,代码如下:
代码
import turtle #导入turtle库 turtle.screensize(None,None,"black") #设置画布的背景色为黑色
保存文件并单击Run→Run Module,运行文件,画布背景颜色变成黑色。
学会了设置背景颜色,我们要将小星星的背景颜色设置为蓝色。修改小星星的代码如下:
代码
import turtle #导入turtle库 turtle.screensize(None, None,"blue") #设置画布的背景色为蓝色 turtle.shape("turtle") #设置画布的形状为小海龟 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距
保存文件并单击Run→Run Module,运行程序,画布的背景颜色变成天空的颜色。
背景图已经变成星空的蓝色。现在要把小星星变成闪闪发光的颜色,要怎么办呢?就是给小星星上色,想想有什么方法可以用呢?
方法如下:
首先设置填充颜色。
然后开始填充。
最后填充完毕收工。
turtle.fillcolor(*args):设置绘制图形的填充颜色。如果我们要填充的是黄色,就把黄色填写进去:turtle.fillcolor("yellow")。
turtle.begin_fill():开始填充。
turtle.end_fill():结束填充。
在小星星原有的代码上进行修改,代码如下:
代码
import turtle turtle.screensize(None, None, "blue") #设置画布为蓝色 turtle.fillcolor("yellow")#给星星填充黄色 turtle.shape("turtle") #设置为小海龟造型 turtle.begin_fill() #开始填充 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.left(144) #让小海龟向左转144度 turtle.forward(100) #小海龟向前移动一段距离 turtle.end_fill() #填充完毕
保存文件并单击Run→Run Module,运行程序,小星星就变成黄色了。
天空中一颗闪耀的小星星就完成了。