上一篇内容,我们讲到孩子的入门一般是海龟绘图。海龟绘图法的理念源自形如海龟的机器人。这种机器人可前进和后退,还可向左和向右旋转一定的角度。另外,这种机器人还携带一只铅笔,可通过抬起或放下来控制铅笔在什么时候接触到脚下的纸张。模块turtle让你能够模拟这样的机器人。就像我们在使用画笔在画布上真实的画画一样,画笔游走的轨迹变成了图形。今天我们来认识一下强大的海龟绘图,并且了解一些海龟指令。
首先我们来看一下上篇提到的画三角形的代码:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen( )
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done( )
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
我们来看一下这个画三角形的代码,首先我们要导入海龟库(import tturtle),turtle库是python的标准库之一,然后我们要定义一个画笔,pen=turtle.Pen();然后就是我们画三角形,先画第一条边,边长=100,然后是逆时针旋转120(这说明三角形的内角为60度,旋转120度是外角),画第二条边,第三条边也是同样。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen( )
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#移动到画第二个三角形的地方
pen.left(120)
pen.forward(150)
#画第二个三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done( )
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
图1
我们可以看到在画第二个三角形的时候先让画笔移动了150步,这样两个三角形之间就有了50的距离了。那如果我们想让中间的这50步的距离不显示这条线怎么办呢?我们可以使用抬笔和落笔指令。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen()
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#抬笔画到画第二个三角形
pen.up()
pen.left(120)
pen.forward(150)
pen.down()
#画第二个三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done()
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
图二
如果我们想让画完图形的海龟画笔隐藏怎么办呢?可以使用隐藏海龟的指令。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen()
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#移到画第二个三角形的地方
pen.up()
pen.left(120)
pen.forward(150)
pen.down()
#画第二个三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.hideturtle()
turtle.done()
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
图三
非常简单而且方便。那你觉得海龟画笔就这么点能力吗?当然不是,海龟指令有非常复杂功能,当然也是有着丰富的指令集。下面列出一部分指令,方便大家和孩子一起尝试这画数学中常用的基本图形。
尝试着用这些指令来画一些数学上的基本图形,比如说,正方形,长方形,平行四边形,六边形,五角星等等。
pen.pensize(arg)#设置画笔的粗细,arg=数字
pen.pencolor("red")#设置画笔的颜色,可以使用“black”“red”或者RGB3元组
pen.speed()#设置画笔的移动速度,参数的范围在[1,10]之间的整数,数字越大,速度越快,设置为0时速度最快
pen.forward(distance)#向当前画笔方向移动distance像素长
pen.backward(distance)#向当前画笔相反方向移动distance像素长度
pen.right(degree)#顺时针移动degree°
pen.left(degree)#逆时针移动degree°
pen.penup()#抬笔
pen.pendowm()#落笔
pen.goto(x,y)#移到指定坐标位置
pen.circle(radius)#画空心圆,radius为半径
pen.dot(radius)#实心圆
turtle.hideturtle()#隐藏海龟画笔
turtle.showturtle()#显示海龟画笔
turtle.done()#显示海龟画布
后面也会继续更新海龟绘图的用法,并且会附上一些代码,方便大家学习,如果有需要后期还会更新视频。下一篇开始将会正式进python基本语法的学习,希望我的分享对你和你的孩子有所帮助。