大家好。我是Python高级。前言平时使用程序画图的时候是不是觉得很棘手?今天给大家介绍一个神奇的绘图模块-----海龟。它可以通过一些指令任意移动画笔,可以说是非常智能了。importmoduleimportturtleturtle基本用法1.设置画布大小如果要画图,必须先有画布,否则画不出来。我们可以先设置画布大小:turtle.screensize(width,height,color)#设置宽高和颜色2.设置画布坐标我们不仅要设置画布,还要设置画布的主界面画布容器,否则主界面显示不出来,画布自然显示不出来。turtle.setup(width,height,startx,starty)#设置宽高为起始x坐标和起始y坐标3.显示主界面。().title('绘图工具')#设置绘图窗口的标题turtle.screensize(400,400,"red")#画布大小背景色turtle.setup(width=600,height=600,startx=300,starty=50)#绘图窗口的大小和起始坐标turtle.mainloop()#显示主界面t=turtle.Pen()#pent.shape("turtle")#海龟的形状:箭头,turtle,circle,square,triangle,classict.resizemode()#尺寸调整模式:auto,user,noresizeturtle.bgcolor('black')#背景色4.设置画笔因为海龟画是用画笔画的,所以我们有生成画笔来绘制。我们需要设置画笔的大小和颜色:turtle.pencolor('green')#设置画笔的颜色为绿色,默认为黑色color()turtle.pensize(1)#设置画笔的大小turtle.width()turtle.speed()#设置笔刷速度范围为[0,10]#也可以使用turtle.Pen()来生成我们的第一个箭头,海龟绘制就是通过绘制来达到绘制的目的这个箭头的移动轨迹。5.基本绘图命令接下来我们让箭头动起来,给他一点灵魂,免得它像稻草人一样一动不动,照着做。1.向前turtle.forward(100)#向前100像素turtle.fd(100)2.向后turtle.backward(200)#向后200像素,下面的方法同turtle.back(200)turtle.bk(200)3.移动到turtle.goto(100,200)#直接移动到坐标为(100,200)的位置,下面的效果是一样的turtle.setpos(100,200)turtle.setposition(100,200)4.向左移动turtle.left(50)#向左移动50个像素turtle.lt(50)5.向右移动turtle.right(60)#向右移动60个像素turtle.rt(60)6.准备移动turtle.penup()乌龟.Pen()。向上()7。暂停移动turtle.pendown()turtle.Pen().down()8.画一个圆turtle.circle(radius,radian,内置多边形的个数)turtle.dot(int)#你也可以画一个圆9.Movex-axisturtle.setx(100)#x-axismoves100pixels10.Movey-axisturtle.sety(100)#y-axismoves100pixels11.设置当前方位角turtle.setheading(90)#currentangleFor90turtle.seth(90)在标准模式下是逆时针(北),在模式12下是顺时针(东)。将当前画笔位置设置为原点turtle.home()我们可以看到乌龟的最后位置和initialpositionofbrush立足点的位置,代码如下:importturtleimporttimet=turtle.Pen()t.shape('turtle')t.pencolor('green')turtle.bgcolor('gray')t。width=3time.sleep(1)t.penup()#准备移动t.forward(100)#向前100像素time.sleep(1)t.backward(200)#向后200像素time.sleep(1)t.goto(100,200)#直接移动到坐标为(100,200)的位置time.sleep(1)t.left(50)#向左移动50个像素time.sleep(1)t.right(60)#移动60像素到正确的时间.sleep(1)t.penup()#准备移动t.setx(100)#x轴移动100像素time.sleep(1)t.sety(100)#y轴移动100像素turtle.seth(90)turtle.home()turtle.mainloop()#一直保持主界面,我们可以在不退出的情况下显示小龟的运行轨迹:turtle.Screen().title('drawingtool')#设置小龟的标题绘图窗口turtle.screensize(400,400,"red")#画布大小背景色turtle.setup(width=600,height=600,startx=300,starty=50)#绘图窗口大小和起始坐标turtle.pensize(1)turtle.pencolor('green')#画笔颜色turtle.speed(2)turtle.forward(100)#前进100time.sleep(1)turtle.setposition(100,100)#移动到位置(100,100)time.sleep(1)turtle.bk(100)#Back100time.sleep(1)turtle.circle(100,100,5)#画多边形轮廓time.sleep(1)turtle.dot(50)#画圆time.sleep(1)turtle.setx(100)#移动x轴13.复制当前图形turtle.stamp()14.清除当前图形turtle.clearstamp()15.清除多个图形turtle.clearstamps()16.撤销操作turtle.undo()17.获取当前Turtle坐标turtle.position()turtle.pos()18.获取turtle当前坐标与(x,y)tutrle的夹角。towards(x,y)19.获取x坐标tutrle.xcor()20.获取y坐标tutrle.ycor()21.获取箭头方向tutrle.heading()22.获取箭头坐标之间的距离以及设置的坐标turtle.distance(x,y)23.清空当前绘图窗口,海龟状态不变turtle.clear()turtle.clearscreen()24.清空窗口,重置海龟turtle状态。重置()turtle.resetscreen()25。判断当前海龟是否可见turtle.isvisible()26.写入文本turtle.write(text,font)27.绘制填充色turtle.fillcolor('red')28。判断画笔是否dropturtle.isdown(注意:没有isup方法)29.隐藏乌龟turtle.hideturtle()turtle.ht()30.显示乌龟turtle.showturtle()turtle.st()31.填充颜色乌龟。fillcolor('black')32.开始填充turtle.begin_fill()33.结束填充turtle.end_fill()34.设置圆的度数,默认为360度turtle.degrees(fullcircle=360.0)35.设置圆的度数设置为2πturtle.radians()turtle.Screen().title('绘图工具')#设置绘图窗口的标题t=turtle.screensize(400,400,"red")#canvas大小背景色turtle.setup(width=600,height=600,startx=300,starty=50)#绘图窗口的大小和起始坐标turtle.pensize(1)turtle.pencolor('green')turtle.speed(2)turtle.forward(100)turtle.circle(40)id=turtle.stamp()#generateidturtle.goto(100,200)#moveto(100,200)turtle.clearstamp(id)#删除idturtle.undo()#撤销操作print(turtle.pos())#海龟当前坐标print(turtle.towards(100,100))#当前坐标与设定坐标的夹角print(turtle.xcor(),turtle.ycor())#获取x,y坐标print(turtle.heading())#获取箭头方向print(turtle.distance(100,100))#当前坐标与设置坐标的距离turtle.clear()#清空绘图窗口turtle.reset()#重置海龟状态turtle.forward(100)#前进100像素ifturtle.isvisible():#判断海龟是否可见,若可见则后退300像素turtle.back(300)turtle.write('任性90后')turtle.fillcolor('blue')#海龟颜色填充为蓝色turtle.begin_fill()#开始填充turtle.goto(100,-100)turtle.forward(150)turtle.end_fill()#结束填充turtle.fillcolor('black')#turtle.begin_fill()turtle.pencolor('yellow')turtle.circle(40)turtle.end_fill()turtle.mainloop()这部分主要讲关于turtle进程运行轨迹的变化36.启动和停止海龟turtle.mainloop()turtle.done37.设置海龟的模式turtle.mode(mode)standardcounterclockwiseitclockwiseworld38.设置或返回以毫秒为单位的绘图延迟turtle.delay(delay=None)39.开始记录多边形的第一个顶点turtle.begin_poly()40.停止记录多边形的最后一个顶点turtle.end_poly()41.返回最后记录的多边形turtle.get_poly()turtle.Screen()。title('绘图工具')#设置绘图窗口的标题t=turtle.screensize(400,400,"red")#画布大小背景色turtle.setup(width=600,height=600,startx=300,starty=50)#绘图窗口的大小和起始坐标turtle.pensize(1)turtle.pencolor('green')turtle.speed(2)turtle.begin_poly()#开始记录foriinrange(4):turtle.forward(100)turtle.right(90)turtle.end_poly()#结束记录print(turtle.get_poly())#获取抓取的绘图坐标turtle.clear()#清除当前绘图turtle.mode('it')turtle.forward(100)乌龟.ht()#隐藏turtle.left(100)turtle.delay(delay=100)#每隔100毫秒画一只小乌龟.goto(200,50)turtle.st()#显示turtle.reset()#回到起点点time.sleep(1)forxinrange(100):foryinrange(200):turtle.forward(100)turtle.left(200)turtle.goto(x,y)#连续移动位置ifturtle.pos()==(10,10):#如果当前位置是(10,10)turtle.done#销毁窗口turtle.mainloop()这个显示的是初始绘制的坐标,但实际上绘制的是一个矩形。总结从这里可以看出,TurtleDrawing确实是一个非常好的模块。它可以帮助我们非常快速方便??地绘制。它只需要几个辨识度很高的英文单词的组合,就可以绘制出精美的图形。当然,它还有很多其他的用法,这里就不一一赘述了,大家可以慢慢想。
