第四章 Turtle库

学习要点

turtle库的综合应用,利用turtle绘制各种不同的图形。

对标内容

  1. 会用turtle库完成简单的顺序执行的Python程序,能够解决较为简单的问题。
  2. 会编写含有变量及库文件的基本程序。
  3. 具备用计算思维的方式解决简单的问题能力。
  4. 知道第三方库turtle的功能,会导入该库文件,掌握它的一些简单使用方法。

情景导入

如果你认为Python只能做那些冷冰冰的数据处理,那你就错了,Python 也可以做很多有趣的事情,比如同学们最喜欢的画画,Python也非常“擅长”, 它甚至可以绘制出一幅与众不同的画作。那Python笔下的画作是什么样呢?让我们拭目以待吧!

turtle的引入方式

如何要使用turtle绘图库,需要在代码开头导入turtle库,命令如下:

import turtle

其他导入方式:

  • import turtle as t :相当于给turtle起个别名,以后用t代码turtle
  • from turtle import :可以指定导入turtle库中的部分功能,表示全部

turtle的坐标系

turtle的坐标系有两个:一个是画布在整个屏幕中的坐标系,另一个是画笔在整个画布中的坐标系。

知识点详解

画布在屏幕中的坐标系

画布在屏幕中的坐标系如图4-1所示。

image-20220426213105473

​ 图4-1画布在屏幕中的坐标系

画布的(0,0)坐标位于屏幕的左上方。

最小单位为像素。

setup()设置画布大小及位置,格式为:turtle.setup(width, height, startx, starty)。

setup()的参数:第一个为画布长度,第二个为画布高度,第三个为画布起始的x坐标,第四个为画布起始的y坐标。

setup()不是必需的,只有当需要改变画布大小或者坐标位置的时候使用; 如果没有设置setup(),直接使用turtle进行绘图,画布默认的大小尺寸为800 像素x 600像素,并且位于屏幕的正中央。

setup()的4个参数,可以没有坐标信息,甚至可以连4个参数都没有。如果4个参数都没有,则按照默认尺寸和位置进行设置;

setup()前两个参数可以使用小于等于1.0的小数表示,代表的是画布的大小占整个屏幕尺寸的比例。比如setup(1.0,1.0)代表的是按屏幕尺寸(宽和高) 100%的比例进行设置,setup(0.5,0.5)代表的是按屏幕尺寸的50%比例缩小画布。

注意:setup(1.0,1.0)代表的是按屏幕尺寸(宽和高) 100%的比例进行设置,setup(1,1)代表的是宽和高都是1个像素

画笔在画布中的坐标系

画笔在画布中的坐标系和画布在屏幕中的坐标系是不一样的,最大的不同是画布的正中心是坐标系的原点(0,0),如图4-2所示。

image-20220426213642506

​ 图4-2画笔在画布中的坐标系

由图4-2我们可以看出来,这就是标准的xOy坐标系,横坐标为x,纵坐标为y,原点的坐标为(0,0)。

对应的命令:turtle.goto(x,y),作用为让小海龟走到指定的坐标。

turtle.goto(x,y)的单位为像素。

易错点

  1. 两个坐标系的原点位置不同,要注意是在设置哪个坐标系。
  2. setup()不是必需的,默认的画布尺寸为800像素 × 600像素,而并非400像素 × 300像素。

模拟考题

考题1 单选题

以下哪个turtle库中的指令不会使小海龟发生位置移动变化的?()

A.在turtle库中的指令forward( ) B.在turtle库中的指令goto() C.在turtle库中的指令setup() D.在turtle库中的指令home()

答案:C

解析:A为让小海龟前进,B为让小海龟到达指定的坐标,C为设定画布的大小,D为让小海龟回到原点,所以只有C不会使小海龟发生移动。

考题2 单选题

在turtle库中,用于将画笔移动到坐标(x,y)的命令是()

A. turtle.go(y,x) B. turtle.go(x,y) C. turtle.goto(x,y) D. turtle.goup(x,y)

答案:C

解析:这道题很具有迷惑性,go和goto很像,但是,在turtle库中,只有 goto函数,所以答案是C。

turtle的画笔体系

知识点详解

画笔的命名

在turtle中可以有多支画笔,但是每一支画笔都必须要有自己独有的名字,如果只有一支画笔,则不需要命名。

画笔命名函数:turtle.Pen();格式为pen1= turtle.pen(),前面的pen1为画笔的名称。命名画笔后,该画笔的所有函数均需要在前面加上画笔名称,不能再使用默认的turtle前缀。

画笔设置函数

  1. turtle.pensize(a)

    作用:设置画笔的粗细。

    参数:a代表画笔的像素数。

    特别说明:画笔设置粗细只改变设置后的绘图,设置前已经绘制的图形不改变。

  2. turtle.penup()

    作用:抬笔。

    参数:无。

    特别说明:抬笔后,画笔的所有操作及移动都不会在画布上留下痕迹。

  3. turtle.pendown()

    作用:让画笔落下。

    参数:无。

    特别说明:画笔落下后,才能够绘制相应的图形。

  4. turtle.hideturtle()

    作用:隐藏小海龟,表示不显示小海龟。

    参数:无。

    特别说明:隐藏并不影响小海龟的绘图,即隐藏后小海龟还是可以绘图的。

  5. turtle.showturtle()

    作用:显示小海龟。

    参数:无。

  6. turtle.shape()和 turtle.Turtle()

    作用:设置小海龟的形状。

    参数:括号里面只能填海龟形状,在turtle中,小海龟的形状只有6种,分别为"arrow" "turtle" "circle" "square" "triangle"和"classic"。

    特别说明:默认小海龟形状为"classic";参数为字符串,所以须要加引号,例如 turtle.shape("arrow")。

    示例代码如下:

    import turtle as t
    
    p1=t.Turtle('arrow')
    p1.fd(100)
    p1.write('arrow ',align='right', font=('arial',20))
    
    p2=t.Turtle('turtle')
    p2.goto(0,-50)
    p2.fd(100)
    p2.write('turtle ',align='right', font=('arial',20))
    
    p3=t.Turtle('circle')
    p3.goto(0,-100)
    p3.fd(100)
    p3.write('circle ',align='right', font=('arial',20))
    
    p4=t.Turtle('square')
    p4.goto(0,-150)
    p4.fd(100)
    p4.write('square ',align='right', font=('arial',20))
    
    p5=t.Turtle('triangle')
    p5.goto(0,-200)
    p5.fd(100)
    p5.write('triangle ',align='right', font=('arial',20))
    
    p6=t.Turtle('classic')
    p6.goto(0,-250)
    p6.fd(100)
    p6.write('classic ',align='right', font=('arial',20))
    

    image-20220503143944754

  7. turtle.write(arg,move=false,align='left', font=('arial',8,'normal'))

作用:在小海龟当前位置书写文字。

参数:arg为需要书写的文字信息;

​ move为可选参数,如果move为 True,则笔将移动到右下角;

​ align为可选参数,只能是字符串"left"(左)、 "center"(中)或"right"(右)之一,表示字符的对齐方式;font为可选参数, 表示所要使用的字体。

特别说明:turtle.write()是将文字显示在绘制的画布上,不是显示在IDLE 的交互环境里。

与颜色相关的设置

  1. turtle.pencolor (color)

    作用:设置画笔的颜色。

    参数:color代表的是画笔颜色。

    特别说明:参数color有两种表示方式:第一种为字符串形式,内容为颜色的英文,字母用小写的,如 "green"、"red";第二种为RGB三元组值形式,RGB 是工业界的一种颜色标准,是指红、绿、蓝3种颜色的数值,数字越大,该颜色越深,如turtle.pencolor(255,255,255)代表的是黑色。但是在使用RGB三原色时,需要在前面加上turtle.colormode(255)将颜色设定为RGB模式。

  2. turtle.color(colorl, color2)

    作用:同时设置画笔及填充的颜色。

    参数:第一个参数colorl代表的是画笔颜色,第二个参数color2代表的是填充颜色。

    特别说明:如果只有一个参数,则代表该颜色既是画笔颜色也是填充颜色。参数colorl和color2均可以使用RGB模式表示。

  3. turtle.fillcolor (color)

    作用:设置填充颜色。

    参数:color代表是填充颜色。

    特别说明:填充颜色需要在开始填充前进行声明才有效。参数可以使用RGB模式表示。

  4. turtle.begin_fill()

    作用:设置填充的起始点,表示开始填充。

    参数:无。

    特别说明:开始填充必须和结束填充成对配合使用。

  5. turtle.end_fill()

    作用:设置填充的终点,表示结束填充。

    参数:无。

    特别说明:结束填充必须和开始填充成对配合使用。

  6. turtle.bgcolor(color)

    作用:设置画布的背景颜色。

    参数:color为背景颜色的文本名或RGB数值。

易错点

  1. 命名多支画笔时必须使用turtle.Pen(),命名的格式为a (画笔名)=turtle.Pen()。这里要特别注意P要大写。
  2. 所有的颜色设置,均可以采用字符串和RGB两种模式,但是在字符串模式下,颜色名称一定要加引号。
  3. 所有的颜色设置也可以采用RGB值来表示,虽然这不在等级考试的要求中,但是不能因此就认为使用RGB值表示就是错误的。
  4. turtle.begin_fill()函数必须在开始绘制需要填充的图形前就声明。
  5. turtle.Turtle()命令除了可以设置小海龟的形状外,也可以进行多支画笔的设置。
  6. 有些函数没有参数,但是()必须要写上,比如turtle.begin_fill()。

模拟考题

考题1 单选题

下面的图形最有可能是哪段代码执行过的效果。( )

image-20220426220026852

A.

import turtle 
turtle.pensize(5)
turtle.begin_fill() 
turtle.color('red')
turtle.fillcolor('yellow')
turtle.circle(50,steps=6)
turtle.end_fill()
turtle.hideturtle()

B.

import turtle 
turtle.pensize(5) 
turtle.color('red')
turtle.begin_fill ()
turtle.fillcolor('yellow')
turtle.circle(50,steps=6) 
turtle.end_fill() 
turtle.hideturtle()

C.

import turtle 
turtle.pensize(5)
turtle.fillcolor('red') 
turtle.begin_fill()
turtle.color('yellow') 
turtle.circle(50,steps=6)
turtle.end_fill() 
turtle.hideturtle()

D.

import turtle 
turtle.pensize(5)
turtle.begin_fill() 
turtle.color('red','yellow') 
turtle.circle(50z steps=6) 
turtle.end_fill() 
turtle.hideturtle()

答案:C

解析:我们可以看出这是绘制一个正六边形,并且画笔颜色和填充颜色都是黄色。A、B选项都是先设定了画笔颜色和填充颜色为红色 (turtle.color('red')),随后在填充时又声明了填充颜色为黄色(turtle.fillcolor('yellow'));语句都放到了turtle.begin_fill()里面,所以画笔颜色为红色; D选项直接设定画笔颜色为红色,填充颜色为黄色,所以也不符合题目要求;只 有C选项虽然开始设定的填充颜色为红色,但是随后又设定填充颜色和画笔颜色均为黄色,所以C选项符合题目要求。

考题2 单选题

运行下面的程序后,画布上会出现几只小海龟?()

import turtle
t1=turtle.Turtle('turtle')
t2=turtle.Turtle('turtle')
t3=turtle.Turtle('turtle')
t4=turtle.Turtle('turtle')
t1.forward(50)
t2.forward(100)
t3.forward(150)
t4.forward(200)

A. 0 B. 1 C.4 D.5

答案:C

解析:程序中的tl=turtle.Turtle('turtle')就是在设置turtle不同画笔的名称,本题中有t1、t2、t3、t4这4支画笔,所以选择C。

turtle运动体系

知识点详解

turtle的相对方向

小海龟(画笔)在画布上是有方向的,默认的小海龟的头部(前方)为屏幕的右侧,尾部(后方)为屏幕的左侧,小海龟的右侧为屏幕的下方,小海龟的左侧为屏幕的上方,如图4-3所示。

小海龟(画笔)的方向会随着画笔方向的改变进行改变,所以,该方向为相对方向,以小海龟的头部所朝向的刖方为标准建立新的方向体系。 image-20220426220422378

​ 图4-3小海龟的相对方向

对应的命令有 turtle.forward(a)、turtle.backward(a)、turtle.circle (radius, extent=None, steps=None)、turtle.left(angle)、turtle.right(angle) 。

turtle的绝对方向

除了相对于小海龟头部方向的相对方向之外,turtle还有绝对方向,其特征如下。

  • 绝对方向是不变的;

  • 绝对方向的划分如下:屏幕的右方为0°起点,也是360° 终点;屏幕上方为90° (逆时针)/-270° (顺时针);屏幕左侧为180° /-180° ;屏 幕下方为270° /-90° ,如图4-4所示。

    image-20220426220700282

    ​ 图4-4小海龟的绝对方向

    对应的命令为 turtle.setheading(angle)。

    说明:简写为 seth(angle)。

相关函数

  1. turtle.goto(x,y)

    作用:让小海龟直线前进到指定坐标。

    参数:(x,y)为目标位置的x坐标及y坐标。

    说明:setpos(x,y)、setposition(x,y)作用同goto(x,y)一样

  2. turtle.forward(a)

    作用:让小海龟向前移动a个像素。

    参数:a代表移动的像素数。

    特别说明:可以简写为turtle.fd(a)。如果a为负数,代表后退a像素。

  3. turtle.backward(a)

    作用:让小海龟向后移动a个像素。

    参数:a代表移动的像素数。

    特别说明:可以简写为turtle.bk(a)。如果a为负数,代表前进a像素。

  4. turtle.left(angle)

    作用:让小海龟向左转angle度。

    参数:angle代表旋转的角度。

    特别说明:参数为正数,代表左转;为负数,代表右转。

  5. turtle.right(angle)

    作用:让小海龟向右转angle度。

    参数:angle代表旋转的角度。

    特别说明:参数为正数,代表右转;为负数,代表左转。

  6. turtle.circle(radius, extent=None, steps=None)

    作用:绘制圆、圆弧或多边形。

    参数:(radius, extent=None, steps=None)中的 radius 代表的是半径,这个参数是必须有的;extent代表的是弧度的度数,如果没有,默认的为360°;steps代表的是绘制该孤度(圆)所需要用的边数。

    特别说明:turtle.circle()中的参数,半径为必需的,弧度和边数都为可选的, 但是如果设定了边数,如果参数前不加“steps=”,则必须设定弧度。例如需要用4条边绘制一个半径为80的360°的图形,必须写成turtle.circle(80,360,4) 或者turtle.circle(80, steps=4),不能写成 turtle.circle(80,4)。

    正多边形的绘制:turtle.circle()可以绘制正多边形,但是要注意:一是绘制正多边形时,turtle.circle()的3个参数要完整;二是正多边形的边长并不是 turtle.circle()中的半径(也不是直径),如图4-5所示。如果不完整,需要按照“特别说明“进行参数说明。

    image-20220426221101394

    ​ 图4-5正多边形的绘制

  7. turtle.setheading(angle)

    作用:让小海龟转到指定的绝对角度,该命令和前面的turtle.left(angle)及turtle.right(angle)最大的不同在于,该命令指的是转到指定角度,与之前画笔所朝向的方向没有任何的关系。

    参数:angle为必须有的参数,代表旋转到的绝对角度,参数可以为负数。

    特另说明:turtle.setheading()可以简写为 turtle.seth()。

  8. turtle.speed(a)

    作用:设定画笔的运动速度。

    参数:a的数值范围是0~10,数字越大,速度越快,但是最快的是。而不是10,那是因为当参数为0时,turtle绘图不需要动画。

  9. turtle.dot(a,color)

    作用:绘制圆点。

    参数:a为圆点的直径,单位为像素。如果 size 未指定,则直径取 pensize+4 和 2*pensize 中的较大值。

    ​ color指定颜色,可以选参数,如果不设置则为画笔颜色

  10. turtle.home()

    作用:让小海龟返回原点。

    参数:无。

    特别说明:小海龟返回原点(0,0)后,方向为初始方向,即屏幕的右方,但是画笔的颜色等设置依然保留。

易错点

  1. turtle.dot()的参数为直径,而turtle.circle()的参数为半径。
  2. turtle.seth()的参数为绝对角度,而 turtle.left()及 turtle.right()的参数为相对角度。
  3. turtle.speed()的参数范围为0~10,最快的是0,最慢的是1。

模拟考题

考题1 单选题

turtle库中,画笔绘制的速度范围为( )

A . 任意大小 B. 0到10之间的整数(含0和10) C. 1到10之间的整数(含1和10 ) D. 0到100之间的整数(含0和100 )

答案:B

解析:turtle的画笔绘制速度函数为turtle.speed(),该函数的参数范围为 0~10的整数。

考题2 单选题

海龟作图中,小海龟默认朝向屏幕的()方。

A.左 B.右 C. 上 D.下

答案:B

解析:小海龟默认的方向为前方,而默认的前方是屏幕的右方。

考题3 判断题

在turtle 库中,turtle.backward(200)和 turtle.forward(-200)的使用效果是一样的。()

答案:正确

解析:turtle.forward()中的参数如果为负数,则代表后退,相当于turtle. backward()。

考题4 单选题

运行下列程序后,会绘制出以下哪个图形?()

import turtle
turtle.pensize(3)
turtle.forward(150)
turtle.circle(50,180)
turtle.forward(180)
turtle.circle(48,180)
turtle.forward(150)
turtle.circle(45,180)
turtle.forward(120)
turtle.done()

image-20220426222023634

答案:B

解析:首先A图形画笔太细,不符合题目中的画笔要求,所以A被排除掉;其次,根据turtle.circle(50,180),我们可以了解到,所有的半圆都是逆时针绘制, 所以C、D被排除掉;只有B符合要求。

考题5 单选题

下列代码不能画出直径为10的圆点的是( ) A. B.

turtle.pensize(10)                            turtle.dot(10)
turtle.pendown()
turtle.goto(0,1)

C. D.

turtle.begin_fill()                            turtle.begin_fill()
turtle.circle(5)                            turtle.circle(10) 
turtle.end_fill()                             turtle.end_fill()

答案:D

解析:D使用的是circle命令,而circle中的参数是半径,那么circle(10) 是绘制直径为20的圆,并不是直径为10的圆,所以不能画出直径为10的圆点。

考题6 单选题

使用Python画笔绘制如下图所示的图案,第4行代码应如何补充?() image-20220426222456270

A. p.right(90) B. p.left(90) C. p.right(-90) D. p.left(-180)

答案:A

解析:根据图,我们可知海龟前进100后需要右转90° ,然后再前进100,所以应该选A。

其他需要掌握的函数

知识点详解

  1. turtle.reset()

    作用:清空画布,并且重置turtle状态为初始状态。

    参数:无

  2. turtle.clear()

    作用:清空turtle窗口,但是turtle的位置和状态不会改变。

    参数:无

  3. turtle.clone()

    作用:创建并返回一个turtle的一个克隆体,该克隆体与turtle具有相同的属性。

    参数:无

  4. turtle.stamp()

    作用:印章,将小海龟的形状或者绘制的形状作为印章复制到屏幕上,和 Scratch中的印章作用一致。

    参数:无

  5. turtle.screensize(canvwidth, canvheight,bg)

    作用:设定画布的尺寸和背景颜色。

    参数:一共有3个,前两个设定画布的宽度和高度,第三个设定背景颜色。

    说明:如果没有参数,则返回当前窗口的宽度和高度。

  6. turtle.mainloop()或 turtle.done()

    作用:停止画笔绘制,但绘图窗体不关闭。由于这是用来停止画笔的,所以必须用在程序的最后一个语句。

    参数:无。

易错点

  1. turtle.reset()和 turtle.clear()有着本质的区别:turtle.reset()是完全初始化,画笔的所有设置均恢复到初始状态,但不包括画布的设置(比如画布的大小、画布的背景颜色等);而turtle.clear()清除画布上的图案,并不改变画笔的设置和位置。
  2. turtle.mainloop()或 turtle.done()后面的语句是不执行的。

模拟考题

考题1 单选题 运行下面的程序后,以下哪个图形是正确的?()

import turtle
turtle.shape('square')
turtle.home()
turtle.dot()
turtle.stamp()
turtle.forward(100)
turtle.setheading(90)
turtle.stamp()
turtle.forward(100)
turtle.left(90)
turtle.stamp()
turtle.forward(100)
turtle.left(90)
turtle.stamp()
turtle.forward(100)

image-20220426222910820

答案:C

解析:根据程序turtle.shape('square'),我们可以得出小海龟的形状为四边形,所以,A、B被排除掉,剩下C和D。由于每一个印章turtle.stamp()之后都有一个turtle.forward(100),并且没有抬笔,所以应该还有横线,绘制的图形应该是C.

考题2 单选题

下面的代码哪部分用于设置画布的颜色?()

import turtle
turtle.screensize(,②,③)

A.① B.② C.③ D,都不是

答案:C

解析:根据turtle.screensize的参数设定,第三个参数为窗口的背景颜色值,所以选择C。

turtle综合练习

知识点详解

一级考试的编程题一共有两道,其中一道分值为20分,该分值的题目是对 turtle的综合应用能力的考核,题目的主要考核点如下。

  1. 综合解决问题的能力:能够将图形转换为程序,能够分析图形的规律等。
  2. turtle的各命令的灵活运用能力:会使用turtle的各种命令来绘制题目要求的图形。
  3. 数学计算能力及计算思维:能够准确计算出绘制图形使用的各种参数,并且能够按照题目要求将图形放置到合适的位置。

模拟考题

考题1 编程题

绘制下图

image-20220426224518386

(1) 画一个由两个直角三角形组成的正方形,边长为180像素。 (2) 左上三角形填充为黄色,右下三角形填充为红色。 (3) 设置画笔移动速度为1,线条颜色为黑色。 (4) 画图结束,隐藏并停止画笔。

参考程序

import turtle  #库准备
turtle.fillcolor('red') #设置填充颜色为红色
turtle.speed(1) #设置画笔移动速度为1
turtle.begin_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.left(90) #逆时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.goto(0,0) #移动到(0,0)的位置,即起始位置
turtle.end_fill() #填充结束
turtle.fillcolor('yellow') #设置填充颜色为黄色
turtle.begin_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.right(90) #顺时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.end_fill() #填充结束
turtle.hideturtle() #隐藏画笔
turtle.done() #停止画笔等待关闭

解析:该题的难点在于图形的绘制和颜色的填充;由于填充需要对封闭的图形进行,所以不可以采用绘制一个正方形后直接沿对角线再绘制一条直线的方法;因而参考程序采用的是绘制两个不同颜色的直角三角形进行拼接的方法。

考题2 编程题

绘制如下图形 ,一个正方形,内有三个红点,中间红点在正方形中心。要求如下:

IMG_264

(1)正方形边长为200,线条为黑色;

(2)圆点的直径均为20 ,填充颜色为红色,画完后隐藏画笔;

(3)中间圆点的圆心位置为画布正中心,三个圆心之间距离相隔为40。

参考程序

import turtle
turtle.penup()
turtle.goto(-100,100)
turtle.pendown()
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.penup()
turtle.goto(0,0)
turtle.dot(20,'red')
turtle.penup()
turtle.goto(-40,0)
turtle.dot(20,'red')
turtle.penup()
turtle.goto(40,0)
turtle.dot(20,'red')
turtle.hideturtle()

解析:

  1. 本题程序并非只有一种写法,可以用多种方法来解决。
  2. 本题难点在于计算3个红点的圆心坐标,圆心坐标可以参考正方形的坐标进行计算,但是要注意红点之间的圆心距离。

Turtle总结

Turtle导入方式

#1.常规导入
import turtle
#2.常规导入
import turtle as t
#3.from方式
from turtle import *

坐标系

画笔在画布中的坐标系

image-20220426213642506

画笔设置

颜色相关

  1. pencolor('red'):设置画笔颜色,red、blue、yellow、white、black、green
  2. fillcolor('blue'):设置填充颜色,配合begin_fill()和end_fill()使用
  3. color('red','blue'):同时设置画笔和填充,如果只设置一个颜色,则画笔和填充都是这个颜色

其他方法

  • pensize(5):设置画笔粗细

  • speed(2):设置画笔速度,速度范围[0-10],包含0和10,0最快,1最慢

  • shape('turtle'):设置画笔形状,默认是classic

    image-20220503143944754

  • hideturtle():隐藏画笔

  • done():完成绘制

画笔的动作

  • forward(100):前进,简写是fd(100),如果是负数,则后退

  • backward(100):后退,简写是back(100)

  • left(90):左转,简写是lt(90),如果是负数,则右转

  • right(90):右转,简写是rt(90),如果是负数,则左转

  • circle():画圆,三个参数(半径、弧度、边数)

    turtle.circle(radius, extent=None, steps=None)

  • dot():画圆点,两个参数(直径,颜色)

    turtle.dot(50,'red')

  • penup():抬笔

  • pendown():落笔

  • goto(x,y):移动到指定坐标

    setposition(x,y) 和 setpos(x,y)与goto效果一样

  • setheading(角度):seth()是简写

填充颜色的步骤

第一步、设置填充颜色

turtle.fillcolor("red")

第二步、准备填充

turtle.begin_fill()

第三步、绘制需要填充的图形、例如画个圆

turtle.circle(100)

第四步、完成填充

turtle.end_fill()

移动到指定坐标,不划线

turtle.penup() #抬笔

turtle.goto(100,100)

turtle.pendown() #落笔

Copyright © all right reserved,powered by Gitbook该文件修订时间: 2023-07-23 15:08:14