Bootstrap

Python 海龟画图(Turtle)命令大全

移动和绘制

forward() | fd()

使用语法:

​​turtle.forward(距离)​​

​​turtle.fd(距离)​​

参数说明: 距离 一个数字 (整数 或者 浮点)

(注:单位是像素)

代码示例:

import turtle

turtle.forward(200)

效果:

backward () | bk() | back()

使用语法:

​​turtle. backward (距离)​​

​​turtle. back (距离)​​

turtle. bk (距离)​​

参数说明: 一个数字 (整数 或者 浮点)

(注:单位是像素)

使用说明:

海龟后退指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。

代码示例:

import turtle

turtle.backward(200)

效果

right () | rt()

使用语法:

turtle.right(角度)​​

​​turtle.rt(角度)​​

参数说明: 一个数值 (整型或浮点型)

(注:单位是角度)

使用说明:

海龟右转 angle 个单位。(单位默认为角度,但可通过degrees()radians()函数改变设置。) 角度的正负由海龟模式确定

代码示例:

import turtle

turtle.right(60)

turtle.forward(200)

效果

left () | lt()

使用语法:

turtle.left(角度)​​

​​turtle.lt(角度)​​

参数说明: 一个数值 (整型或浮点型)

(注:单位是角度)

使用说明:

海龟左转角度个单位。(单位默认为角度,但可通过degrees()radians()函数改变设置。) 角度的正负由海龟模式确定

代码示例:

import turtle

turtle. left(60)

turtle.forward(200)

效果

goto () | setpos () | setposition()

使用语法:

turtle.goto(x坐标,y坐标)​​

​​turtle.setpos(x坐标,y坐标)​​

turtle.setposition(x坐标,y坐标)​​

参数说明: x坐标: 一个数值或数值对/向量

y坐标:一个数值或None

使用说明:

在turtle 绘制的区域,是一个2D平面,这个平面由坐标定位,在turtle中使用pos表示坐标,初始位置为(0,0),使用goto传入坐标将会跳转至该坐标点并且绘制;

代码示例:

import turtle

turtle.goto(200,100)

效果

setx()

使用语法:

turtle.setx(x坐标)​​

参数说明: x坐标。

使用说明:

设置海龟的横坐标为 x,纵坐标保持不变。

代码示例:

import turtle

turtle.setx(200)

效果

sety()

使用语法:

turtle.sety(y坐标)​​

参数说明: y坐标。

使用说明:

设置海龟的纵坐标为 y,横坐标保持不变。

代码示例:

import turtle

turtle.sety(200)

效果

setheading() | seth()

使用语法:

turtle. setheading(角度)​​

turtle. seth(角度)​​

参数说明: 小乌龟朝向的角度。

使用说明:

设置海龟的朝向。

代码示例:

import turtle

turtle.setheading(90)

效果

home()

使用语法:

turtle. home()​​

参数说明: 无。

使用说明:

将乌龟移动到原点坐标(0,0),并将其朝向设置为起始方向(右,即0度方向)。

代码示例:

import turtle

turtle.setx(100)

turtle.setheading(90)

turtle.home()

效果

circle()

使用语法:

turtle. circle(半径,角度,阶梯)​​

参数说明: 半径:一个数值。角度:一个数值或None。阶梯:一个整型数据或None。

使用说明:

绘制一个指定半径的圆。角度参数为一个夹角,用来决定绘制圆的一部分。如未指定角度则绘制整个圆。如果不是画完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果角度为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。

圆实际是以其内切正多边形来近似表示的,其边的数量由阶梯参数指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。

代码示例:

import turtle

turtle.circle(100,180)

效果

dot()

使用语法:

turtle. dot(直径,颜色)​​

参数说明: 直径:一个大于等于1的整型数据或None。颜色:一个颜色字符串或颜色数值元组。

使用说明:

绘制一个直径为“直径参数”,颜色为“颜色参数”的圆点。如果直径未指定,则直径取pensize+4 和 2*pensize 中的较大值。

代码示例:

import turtle

turtle.dot(100,'red')

效果

stamp()

使用语法:

turtle. stamp()​​

参数说明: 无。

使用说明:

在海龟当前位置印制一个海龟形状。返回该印章的 stamp_id,印章可以通过调用 clearstamp(stamp_id) 来删除。

代码示例:

import turtle

turtle.color("blue")

turtle.stamp()

turtle.color('red')

turtle.fd(50)

效果

clearstamp ()

使用语法:

turtle. clearstamp(stampid)​​

参数说明: 一个整型数,必须是之前 stamp() 调用的返回值。

使用说明:

删除 stampid 指定的印章。

代码示例:

import turtle

turtle.position()

turtle.color("blue")

astamp = turtle.stamp()

turtle.fd(50)

turtle.position()

turtle.clearstamp(astamp)

turtle.position()

效果

clearstamps ()

使用语法:

turtle. clearstamps(n=None)​​

参数说明: 一个整型数,必须是之前 stamp() 调用的返回值。

使用说明:

删除全部或前/后 n 个海龟印章。如果 n 为 None 则删除全部印章,如果 n > 0 则删除前 n 个印章,否则如果 n < 0 则删除后 n 个印章。

代码示例:

import turtle

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.stamp();

turtle.fd(30)

turtle.clearstamps(2)

turtle.clearstamps(-2)

turtle.clearstamps()

效果

使用语法:

turtle. undo()​​

参数说明: 无。

使用说明:

撤消 (或连续撤消) 最近的一个 (或多个) 海龟动作。可撤消的次数由撤消缓冲区的大小决定。

代码示例:

import turtle

turtle.fd(50);

turtle.lt(80)

turtle.undo()

turtle.undo()

效果

speed()

使用语法:

turtle.speed(速度)​​

参数说明: 一个 0..10 范围内的整型数或速度字符串。

使用说明:

设置海龟移动的速度为 0..10 表示的整型数值。如未指定参数则返回当前速度。

如果输入数值大于 10 或小于 0.5 则速度设为 0。速度字符串与速度值的对应关系如下:

"fastest": 0 最快

"fast": 10 快

"normal": 6 正常

"slow": 3 慢

"slowest": 1 最慢

速度值从 1 到 10,画线和海龟转向的动画效果逐级加快。

代码示例:

import turtle

turtle.speed(0)

turtle.left(30)

turtle.forward(100)

turtle.speed(1)

turtle.left(30)

turtle.forward(100)

效果

获取海龟的状态

position() | pos()

使用语法:

turtle.position()

turtle.pos()​​

参数说明: 无。

使用说明:

返回海龟当前的坐标 (x,y)

代码示例:

import turtle

turtle.pos()

效果

towards()

使用语法:

turtle.towards(x,y=None)

参数说明: x坐标:一个数值或一个海龟实例。y坐标:一个数值

使用说明:

返回从海龟位置到由 x、y 指定的位置的线与海龟的起始方向之间的角度。

代码示例:

import turtle

ang=turtle.towards(100,0)

print(ang)

ang=turtle.towards(0,100)

print(ang)

ang=turtle.towards(-100,0)

print(ang)

ang=turtle.towards(0,-100)

print(ang)

效果

xcor()

使用语法:

turtle.xcor()

参数说明: 无。

使用说明:

返回海龟的x坐标。

代码示例:

import turtle

turtle.goto(100,100)

print(turtle.xcor())

效果

ycor()

使用语法:

turtle.ycor()

参数说明: 无。

使用说明:

返回海龟的y坐标。

代码示例:

import turtle

turtle.goto(100,100)

print(turtle.ycor())

效果

heading()

使用语法:

turtle.heading()

参数说明: 无。

使用说明:

返回海龟当前的朝向。

代码示例:

import turtle

turtle.home()

turtle.left(67)

print(turtle.heading())

效果

distance()

使用语法:

turtle.distance(x,y=None)

参数说明: x:一个数值或数值对,或一个海龟实例。y:如果参数x为数值,y为一个数值,否则为None。

使用说明:

返回海龟位置到坐标的距离,或另一个海龟位置的距离。

代码示例:

import turtle

turtle.home()

print(turtle.distance(100,0))

joe = turtle.Turtle()

joe.forward(200)

print(turtle.distance(joe))

效果

设置与度量单位

degrees()

使用语法:

turtle.degrees(fullcircle=360.0)

参数说明: fullcircle:数值。

使用说明:

设置角度的度量单位,即设置一个圆周为多少 "度"。默认值为 360 度。

代码示例:

import turtle

turtle.home()

turtle.left(90)

print(turtle.heading())

turtle.degrees(400.0)

print(turtle.heading())

turtle.degrees(360)

print(turtle.heading())

效果

radians()

使用语法:

turtle. radians()

参数说明: 无。

使用说明:

设置角度的度量单位为弧度。其值等于 degrees(2*math.pi)。

代码示例:

import turtle

turtle.home()

turtle.left(90)

turtle.heading()

turtle.radians()

turtle.heading()

效果

绘图状态

pendown () | pd() | down()

使用语法:

turtle.pendown()

turtle.pd()

turtle.down()

参数说明:无。

使用说明:

落笔,移动时画线。

代码示例:

import turtle

turtle.pendown()

效果

penup () | pu() | up()

使用语法:

turtle.penup()

turtle.pu()

turtle.up()

参数说明:无。

使用说明:

抬笔,移动时不画线。

代码示例:

import turtle

turtle.penup()

效果

pensize() | width()

使用语法:

turtle.pensize(width=None)

turtle.width(width=None)

参数说明:width:画笔粗细。

使用说明:

设置画笔粗细。

代码示例:

import turtle

turtle.pensize()

turtle.goto(100,100)

turtle.pensize(10)

turtle.goto(200,200)

效果

pen()

使用语法:

turtle.pen(pen=None,**pendict)

参数说明:pen: 一个包含部分或全部下列键的字典。pendict: 一个或多个以下列键为关键字的关键字参数。

"shown": True/False

"pendown": True/False

"pencolor": 颜色字符串或颜色元组

"fillcolor": 颜色字符串或颜色元组

"pensize": 正数值

"speed": 0..10 范围内的数值

"resizemode": "auto" 或 "user" 或 "noresize"

"stretchfactor": (正数值, 正数值)

"outline": 正数值

"tilt": 数值

使用说明:

用来返回或设置笔的属性。

代码示例:

import turtle

turtle.pen(fillcolor="black", pencolor="red", pensize=10)

print(sorted(turtle.pen().items()))

效果

isdown ()

使用语法:

turtle. isdown()

参数说明:无。

使用说明:

如果画笔落下返回 True,如果画笔抬起返回 False。

代码示例:

import turtle

turtle.penup()

print(turtle.isdown())

turtle.pendown()

print(turtle.isdown())

效果

颜色控制

pencolor()

使用语法:

turtle. pencolor(*args)

参数说明:见使用说明。

使用说明:

pencolor可传参与不传参:

pencolor():不传参返回当前颜色的设置

pencolor(colorstring):可以传入字符串设置颜色值

pencolor((r, g, b)):传入一个元组值进行设置

pencolor(r, g, b):直接赋予r、g、b值

代码示例:

import turtle

print(turtle.colormode(255))

turtle.pencolor('red')

#tup=(100,152,256)

#turtle.pencolor(tup)

turtle.pencolor(100,152,255)

print(turtle.pencolor())

效果

fillcolor()

使用语法:

turtle. fillcolor(*args)

参数说明:见使用说明。

使用说明:

fillcolor可传参与不传参:

fillcolor():不传参返回当前颜色的设置

fillcolor(colorstring):可以传入字符串设置颜色值

fillcolor((r, g, b)):传入一个元组值进行设置

fillcolor(r, g, b):直接赋予r、g、b值

代码示例:

import turtle

print(turtle.colormode(255))

turtle.fillcolor('red')

#tup=(100,152,256)

#turtle.pencolor(tup)

turtle.fillcolor(100,152,255)

print(turtle.fillcolor())

效果

color()

使用语法:

turtle. color(*args)

参数说明:见使用说明。

使用说明:

color可传参与不传参:

color():不传参返回当前颜色的设置

color(colorstring):可以传入字符串设置颜色值

color(colorstring), color((r,g,b)):传入2个rgb值一个设置turtle颜色一个设置绘制线条颜色

color(colorstring1, colorstring2):传入2个字符串值一个设置turtle颜色一个设置绘制线条颜色

代码示例:

import turtle

turtle.colormode(255)

print(turtle.color())

turtle.color('red','black')

print(turtle.color())

turtle.color('#285078','#a0c8f0')

print(turtle.color())

turtle.color((100,100,100))

print(turtle.color())

turtle.color(200,200,200)

print(turtle.color())

效果

填充

filling()

使用语法:

turtle.filling()

参数说明:无。

使用说明:

返回填充状态 (填充为 True,否则为 False)。

代码示例:

import turtle

print(turtle.filling())

效果

begin_fill()

使用语法:

turtle. begin_fill()

参数说明:无。

使用说明:

开始填充颜色。

代码示例:

import turtle

turtle.begin_fill()

效果

end_fill()

使用语法:

turtle. end_fill()

参数说明:无。

使用说明:

结束填充颜色。

代码示例:

import turtle

turtle.color("black", "red")

turtle.begin_fill()

turtle.circle(100)

turtle.end_fill()

效果

更多绘图控制

reset() | resetscreen()

使用语法:

turtle. reset()

turtle. resetscreen()

参数说明:无。

使用说明:

从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值。

代码示例:

import turtle

turtle.goto(0,-22)

turtle.left(100)

turtle.position()

turtle.heading()

turtle.reset()

turtle.position()

turtle.heading()

效果

clear() | clearscreen()

使用语法:

turtle. clear()

turtle. clearscreen()

参数说明:无。

使用说明:

清除屏幕绘制线条。并不影响turtle位置。

代码示例:

import turtle

turtle.circle(100,180)

turtle.clear()

效果

screensize ()

使用语法:

turtle.screensize(canvwidth=None, canvheight=None, bg=None)

参数说明:

canvwidth:正整型数,以像素表示画布的新宽度值

canvheight:正整型数,以像素表示画面的新高度值

bg:颜色字符串或颜色元组,新的背景颜色。

使用说明:

如未指定任何参数,则返回当前的 (canvaswidth, canvasheight)。否则改变作为海龟绘图场所的画布大小。不改变绘图窗口。要观察画布的隐藏区域,可以使用滚动条。通过此方法可以令之前绘制于画布之外的图形变为可见。

代码示例:

import turtle

turtle.screensize(2000,1500)

效果

write()

使用语法:

turtle. write()

参数说明: arg:要输出的文本

move:True/False

align:字符串 "left", "center" 或 "right"

font: 一个三元组 (fontname, fontsize, fonttype)

使用说明:

文本输出。

代码示例:

import turtle

turtle.goto(0,0)

turtle.write("python编程课", False, align="left", font=("Arial", 8, "normal"))

turtle.goto(0,100)

turtle.write("python编程课", True, align="center", font=("楷体", 8, "normal"))

turtle.goto(0,200)

turtle.write("python编程课", False, align="right", font=("隶书", 8, "normal"))

效果

可见性

hideturtle() | ht()

使用语法:

turtle. hideturtle()

turtle.ht()

参数说明:无。

使用说明:

隐藏海龟

代码示例:

import turtle

turtle.goto(0,0)

turtle.hideturtle()

效果

showturtle() | st()

使用语法:

turtle. showturtle()

turtle.st()

参数说明:无。

使用说明:

显示海龟

代码示例:

import turtle

turtle.hideturtle()

turtle.showturtle()

效果

isvisible ()

使用语法:

turtle. isvisible()

参数说明:无。

使用说明:

如果海龟显示返回 True,如果海龟隐藏返回 False。

代码示例:

import turtle

turtle. isvisible()

效果

可见性

shape()

使用语法:

turtle. shape(name=None)

参数说明: name:有效的形状名称。

使用说明:

shape设置为具有给定名称的形状,如果未指定名称,则返回当前形状的名称。名称为的形状必须存在于TurtleScreen的形状字典中。默认有以下多边形形状:"arrow", "turtle", "circle", "square", "triangle", "classic"。设置成什么turtle就会变成什么形状。

代码示例:

import turtle

print(turtle.shape())

turtle.shape('turtle')

效果

resizemode()

使用语法:

turtle.resizemode(rmode=None)

参数说明: rmode:字符串 "auto", "user", "noresize" 其中之一

使用说明:

设置大小调整模式为以下值之一: "auto", "user", "noresize"。如未指定 rmode 则返回当前的大小调整模式。不同的大小调整模式的效果如下:

"auto": 根据画笔粗细值调整海龟的外观。

"user": 根据拉伸因子和轮廓宽度 (outline) 值调整海龟的外观,两者是由 shapesize() 设置的。

"noresize": 不调整海龟的外观大小。

代码示例:

import turtle

turtle.width(100)

#turtle.resizemode("user")

turtle.resizemode("auto")

#turtle.resizemode("noresize")

效果

shapesize() | turtlesize()

使用语法:

turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None)

turtle.turtlesize(stretch_wid=None, stretch_len=None, outline=None)

参数说明: stretch_wid:正数值。stretch_len:正数值。outline:正数值。

使用说明:

返回或设置画笔的属性 x/y-拉伸因子和/或轮廓。设置大小调整模式为 "user"。当且仅当大小调整模式设为 "user" 时海龟会基于其拉伸因子调整外观: stretch_wid 为垂直于其朝向的宽度拉伸因子,stretch_len 为平等于其朝向的长度拉伸因子,决定形状轮廓线的粗细。

代码示例:

import turtle

import time

turtle.resizemode("user")

turtle.shapesize(5, 5, 5)

time.sleep(2)

turtle.shapesize(10, 5, 5)

time.sleep(2)

turtle.shapesize(5, 5, 5)

time.sleep(2)

turtle.shapesize(5, 10, 5)

time.sleep(2)

turtle.shapesize(5, 5, 5)

time.sleep(2)

turtle.shapesize(5, 5, 10)

time.sleep(2)

效果

shearfactor()

使用语法:

turtle.shearfactor(shear=None)

参数说明: shear:数值 (可选)。

使用说明:

设置或返回当前的剪切因子。根据 share 指定的剪切因子即剪切角度的切线来剪切海龟形状。不 改变海龟的朝向 (移动方向)。如未指定 shear 参数: 返回当前的剪切因子即剪切角度的切线,与海龟朝向平行的线条将被剪切。

代码示例:

import turtle

import time

turtle.shape("circle")

turtle.shapesize(5,2)

time.sleep(1)

turtle.shearfactor(0.5)

time.sleep(1)

turtle.shearfactor(3)

效果

tilt()

使用语法:

turtle.tilt(angle)

参数说明: angle:一个数值

使用说明:

海龟形状自其当前的倾角转动 angle 指定的角度,但不改变海龟的朝向 (移动方向)。

代码示例:

import turtle

import time

turtle.tilt(0)

time.sleep(1)

turtle.fd(100)

time.sleep(1)

turtle.tilt(90)

turtle.fd(100)

效果

settiltangle()

使用语法:

turtle.settiltangle(angle)

参数说明: angle:一个数值

使用说明:

旋转海龟形状使其指向angle指定的方向,忽略其当前的倾角,不改变海龟的朝向 (移动方向)。

代码示例:

import turtle

import time

turtle.tilt(0)

time.sleep(1)

turtle.fd(30)

time.sleep(1)

turtle.tilt(90)

turtle.fd(30)

time.sleep(1)

turtle.settiltangle(45)

time.sleep(1)

turtle.fd(30)

time.sleep(1)

turtle.settiltangle(90)

turtle.fd(30)

效果

tiltangle()

使用语法:

turtle.tiltangle(angle=None)

参数说明: angle:一个数值

使用说明:

设置或返回当前的倾角。如果指定 angle 则旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角。不 改变海龟的朝向 (移动方向)。如果未指定 angle: 返回当前的倾角,即海龟形状的方向和海龟朝向 (移动方向) 之间的夹角。

代码示例:

import turtle

turtle.tilt(45)

turtle.tiltangle(90)

print(turtle.tiltangle())

效果

事件

onclick()

使用语法:

turtle.onclick(fun, btn=1, add=None)

参数说明:

fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。

btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。

add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定

使用说明:

鼠标单单击事件。

代码示例:

import turtle

def fxn(x, y):

turtle.goto(x, y)

turtle.write(str(x)+","+str(y))

def fxn2(x, y):

turtle.goto(-x, -y)

turtle.write(str(x)+","+str(y))

turtle.Screen().onclick(fxn,1)

turtle.Screen().onclick(fxn2,1,True)

效果

onrelease()

使用语法:

turtle. onrelease(fun, btn=1, add=None)

参数说明:

fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。

btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。

add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定

使用说明:

鼠标释放事件。

代码示例:

import turtle

def fxn1(x,y):

turtle.fillcolor("blue")

def fxn2(x,y):

turtle.fillcolor("white")

sc=turtle.Screen()

sc.setup(400,300)

turtle.shape("turtle")

turtle.turtlesize(2)

turtle.speed(1)

turtle.onclick(fxn1)

turtle.onrelease(fxn2)

效果

ondrag()

使用语法:

turtle. ondrag(fun, btn=1, add=None)

参数说明:

fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。

btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。

add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定

使用说明:

鼠标拖动事件。

代码示例:

import turtle

def fxn(x, y):

turtle.ondrag(None)

turtle.setheading(turtle.towards(x, y))

turtle.goto(x, y)

turtle.ondrag(fxn)

turtle.speed(10)

sc = turtle.Screen()

sc.setup(400, 300)

turtle.ondrag(fxn)

sc.mainloop()

效果

事件特殊海龟方法

begin_poly() | end_poly() | get_poly()

使用语法:

turtle.begin_poly()

turtle.end_poly()

turtle.get_poly()

参数说明: 无

使用说明:

turtle.begin_poly()

开始记录多边形的顶点。当前海龟位置为多边形的第一个顶点。

turtle.end_poly()

停止记录多边形的顶点。当前海龟位置为多边形的最后一个顶点。它将连线到第一个顶点。

turtle.get_poly()

返回最新记录的多边形。

代码示例:

import turtle

turtle.home()

turtle.begin_poly()

turtle.fd(100)

turtle.left(90)

turtle.fd(30)

turtle.left(90)

turtle.fd(50)

turtle.end_poly()

p = turtle.get_poly()

print(p)

效果

clone()

使用语法:

turtle.clone()

参数说明: 无

使用说明:

克隆

代码示例:

import turtle

mick = turtle.Turtle()

joe = mick.clone()

mick.goto(111,0)

joe.goto(0,111)

效果

getturtle() | getpen()

使用语法:

turtle. getturtle()

turtle. getpen()

参数说明: 无

使用说明:

返回当前turtle的实例

代码示例:

import turtle

import time

pet = turtle.getturtle()

pet.fd(50)

time.sleep(1)

turtle.fd(-50)

效果

getscreen()

使用语法:

turtle. getscreen()

参数说明: 无

使用说明:

返回作为海龟绘图场所的 TurtleScreen 类对象。该对象将可调用 TurtleScreen 方法。

代码示例:

import turtle

sc=turtle.getscreen()

print(sc)

效果

setundobuffer()

使用语法:

turtle. setundobuffer(size)

参数说明: size:大小。

使用说明:

设置缓冲区大小。使用undo撤销缓冲区turtle的动作数,如果size为None则禁用撤销。

代码示例:

import turtle

turtle.setundobuffer(6)

效果

undobufferentries()

使用语法:

turtle. undobufferentries()

参数说明: 无。

使用说明:

输出缓冲区中的动作数

代码示例:

import turtle

turtle.fd(10)

turtle.left(20)

turtle.fd(30)

turtle.fd(-5)

print(turtle.undobufferentries())

效果

窗口控制

bgcolor()

使用语法:

turtle.bgcolor(*args)

参数说明: args:一个颜色字符串或三个取值范围 0..colormode 内的数值或一个取值范围相同的数值3元组

使用说明:

设置或返回 TurtleScreen 的背景颜色。

代码示例:

import turtle

turtle.bgcolor("red")

效果

bgpic()

使用语法:

turtle.bgpic(picname=None)

参数说明:

picname:不传则返回背景图片文件名,传入参数则设置背景图片,可传入文件名或路径。传入。picname 为 "nopic",则删除当前背景图片。

使用说明:

设置背景图片

代码示例:

import turtle

turtle.bgpic("logo.png")

效果

clearscreen()

使用语法:

turtle. clearscreen()

参数说明: 无

使用说明:

从中删除所有海龟的全部绘图。将已清空的 TurtleScreen 重置为初始状态: 白色背景,无背景片,无事件绑定并启用追踪。

代码示例:

import turtle

import time

turtle.bgpic("logo.png")

turtle.fd(20)

turtle.left(20)

time.sleep(1)

turtle.clearscreen()

效果

https://pic1.zhimg.com/80/v2-b7b05f32a6569f7b9d9b3b935cbf97f8_720w.webp

setworldcoordinates()

使用语法:

turtle.setworldcoordinates(llx, lly, urx, ury)

参数说明:

llx:一个数值, 画布左下角的 x-坐标

lly:一个数值, 画布左下角的 y-坐标

urx:一个数值, 画面右上角的 x-坐标

ury:一个数值, 画布右上角的 y-坐标

使用说明:

自定义坐标系

代码示例:

import turtle

turtle.setworldcoordinates(-10,-10,10,10)

turtle.fd(10)

效果

动画控制

delay()

使用语法:

turtle.delay(delay=None)

参数说明: delay:正整型数

使用说明:

设置或返回以毫秒数表示的延迟值 delay。(这约等于连续两次画布刷新的间隔时间。) 绘图延迟越长,动画速度越慢。

代码示例:

import turtle

turtle.delay(100)

turtle.fd(200)

效果

tracer()

使用语法:

turtle.tracer(n=None, delay=None)

参数说明:n:非负整型数。delay:非负整型数

使用说明:

启用/禁用海龟动画并设置刷新图形的延迟时间。如果指定 n 值,则只有每第 n 次屏幕刷新会实际执行。(可被用来加速复杂图形的绘制。) 如果调用时不带参数,则返回当前保存的 n 值。第二个参数设置延迟值 (参见 delay())。

代码示例:

import turtle

turtle.tracer(1, 10)

dist = 2

v=5

for i in range(30):

turtle.fd(dist)

turtle.rt(90)

dist += v

turtle.pen(pencolor='red')

turtle.tracer(1, 10)

for i in range(30):

turtle.fd(dist)

turtle.rt(90)

dist += v

turtle.pen(pencolor='blue')

turtle.tracer(1, 10)

for i in range(30):

turtle.fd(dist)

turtle.rt(90)

dist += v

效果

update()

使用语法:

turtle.update()

参数说明:无。

使用说明:

执行一次 TurtleScreen 刷新。在禁用追踪时使用。

代码示例:

import turtle

turtle.tracer(False)

dist = 2

v=5

for i in range(30):

turtle.fd(dist)

turtle.rt(90)

dist += v

turtle.update()

效果

使用屏幕事件

listen()

使用语法:

turtle.listen(xdummy=None, ydummy=None)

参数说明: 无。

使用说明:

设置焦点到 TurtleScreen (以便接收按键事件)。使用两个 Dummy 参数以便能够传递 listen() 给 onclick 方法。

代码示例:

import turtle

def f():

turtle.fd(50)

turtle.lt(60)

turtle.listen()

turtle.onkey(f, "Up")

效果

onkey()

使用语法:

turtle.onkey(fun, key)

参数说明: fun:一个无参数的函数或 None。

key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。

使用说明:

绑定 fun 指定的函数到按键事件。如果 fun 值为 None,则移除事件绑定。注: 为了能够注册按键事件,TurtleScreen 必须得到焦点。(参见 method listen() 方法。)

代码示例:

import turtle

def f():

turtle.fd(50)

turtle.lt(60)

turtle.listen()

turtle.onkey(f, "Up")

效果

onkeyrelease()

使用语法:

turtle.onkeyrelease(fun, key)

参数说明: fun:一个无参数的函数或 None。

key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。

使用说明:

绑定 fun 指定的函数到按键释放事件。如果 fun 值为 None,则移除事件绑定。注: 为了能够注册按键事件,TurtleScreen 必须得到焦点。(参见 method listen() 方法。)

代码示例:

import turtle

def f():

turtle.fd(50)

turtle.lt(60)

turtle.listen()

turtle.onkeyrelease(f, "Up")

效果

onkeypress()

使用语法:

turtle. onkeypress(fun, key)

参数说明: fun:一个无参数的函数或 None。

key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。

使用说明:

绑定 fun 指定的函数到指定键的按下事件。如未指定键则绑定到任意键的按下事件。注: 为了能够注册按键事件,必须得到焦点。(参见 listen() 方法。)

代码示例:

import turtle

def f():

turtle.fd(50)

turtle.lt(60)

turtle.listen()

turtle.onkeypress(f, "Up")

效果

onclick() | onscreenclick()

使用语法:

turtle.onclick(fun, btn=1, add=None)

turtle.onscreenclick(fun, btn=1, add=None)

参数说明: fun :一个函数,调用时将传入两个参数表示在画布上点击的坐标。

btn: 鼠标按钮编号,默认值为 1 (鼠标左键)

add:True 或 False -- 如为 True 则将添加一个新绑定,否则将取代先前的绑定

使用说明:

绑定 fun 指定的函数到鼠标点击屏幕事件。如果 fun 值为 None,则移除现有的绑定。

代码示例:

import turtle

def fxn(x, y):

turtle.goto(x, y)

turtle.write(str(x)+","+str(y))

def fxn2(x, y):

turtle.goto(-x, -y)

turtle.write(str(x)+","+str(y))

turtle.Screen().onscreenclick(fxn,1)

turtle.Screen().onscreenclick(fxn2,1,True)

效果

ontimer()

使用语法:

turtle.ontimer(fun, t=0)

turtle.onscreenclick(fun, btn=1, add=None)

参数说明:

fun:一个无参数的函数

t:一个数值 >= 0

使用说明:

安装一个计时器,在 t 毫秒后调用 fun 函数。

代码示例:

import turtle

def f():

turtle.fd(200)

turtle.left(110)

turtle.ontimer(f,3000)

效果

mainloop() | done()

使用语法:

turtle.mainloop()

turtle.done()

参数说明: 无

使用说明:

开始事件循环 - 调用 Tkinter 的 mainloop 函数。必须作为一个海龟绘图程序的结束语句。如果一个脚本是在以 -n 模式 (无子进程) 启动的 IDLE 中运行时 不可 使用 - 用于实现海龟绘图的交互功能。

代码示例:

import turtle

turtle.goto(200,0)

turtle.mainloop()

效果

使用屏幕事件

textinput()

使用语法:

turtle.textinput(title, prompt)

参数说明:

title:字符串

prompt:字符串。

使用说明:

弹出一个对话框窗口用来输入一个字符串。形参 title 为对话框窗口的标题,prompt 为一条文本,通常用来提示要输入什么信息。返回输入的字符串。如果对话框被取消则返回 None。:

代码示例:

import turtle

print(turtle.textinput("建伟的少儿编程课", "Scratch入门到精通"))

效果

使用屏幕事件

numinput()

使用语法:

turtle.numinput(title, prompt, default=None, minval=None, maxval=None)

参数说明:

title:字符串

prompt:字符串

default:数值 (可选)

minval:数值 (可选)

maxval:数值 (可选)

使用说明:

弹出一个对话框窗口用来输入一个数值。title 为对话框窗口的标题,prompt 为一条文本,通常用来描述要输入的数值信息。default: 默认值, minval: 可输入的最小值, maxval: 可输入的最大值。输入数值的必须在指定的 minval .. maxval 范围之内,否则将给出一条提示,对话框保持打开等待修改。返回输入的数值。如果对话框被取消则返回 None。:

代码示例:

import turtle

turtle.numinput("这是标题", "这是问题:", 1000, minval=10, maxval=10000)

效果

设置与特殊方法

mode()

使用语法:

turtle.mode(mode=None)

参数说明:

mode:字符串 "standard", "logo" 或 "world" 其中之一

使用说明:

设置海龟模式 ("standard", "logo" 或 "world") 并执行重置。如未指定模式则返回当前的模式。

"standard" 模式与旧的 turtle 兼容。"logo" 模式与大部分 Logo 海龟绘图兼容。"world" 模式使用用户自定义的 "世界坐标系"。注意: 在此模式下,如果 x/y 单位比率不等于 1 则角度会显得扭曲。

模式

初始海龟朝向

正数角度

standard

朝右(东)

逆时针

logo

朝北(上)

顺时针

代码示例:

import turtle

import time

turtle.forward(100)

turtle.mode(mode='logo')

turtle.forward(100)

turtle.mode(mode='world')

turtle.forward(100)

turtle.setworldcoordinates(-500,-500,500,500)

效果

colormode()

使用语法:

turtle.colormode(cmode=None)

参数说明:

cmode:数值 1.0 或 255

使用说明:

返回颜色模式或将其设为 1.0 或 255。构成颜色三元组的 r, g, b 数值必须在 0..cmode 范围之内。

代码示例:

import turtle

turtle.colormode(1)

turtle.pencolor(0.5, 0.5, 0.5)

turtle.goto(100,0)

turtle.colormode()

turtle.colormode(255)

turtle.colormode()

turtle.pencolor(240,160,80)

turtle.goto(100,100)

效果

getcanvas()

使用语法:

turtle.getcanvas()

参数说明: 无。

使用说明:

返回此 TurtleScreen 的 Canvas 对象。供了解 Tkinter 的 Canvas 对象内部机理的人士使用。

代码示例:

import turtle

print(turtle.getcanvas())

效果

getshapes()

使用语法:

turtle. getshapes()

参数说明: 无。

使用说明:

返回所有当前可用海龟形状的列表。

代码示例:

import turtle

print(turtle.getshapes())

效果

register_shape() | turtle.addshape()

使用语法:

turtle.register_shape(name, shape=None)

turtle.addshape(name, shape=None)

参数说明: 无。

使用说明:

将一个海龟形状加入 TurtleScreen 的形状列表。只有这样注册过的形状才能通过执行 shape(shapename) 命令来使用

代码示例:

import turtle

turtle.begin_poly()

turtle.seth(-45)

turtle.circle(20, 90)

turtle.circle(10, 90)

turtle.circle(20, 90)

turtle.circle(10, 90)

turtle.end_poly()

pairs = turtle.get_poly()

turtle.register_shape("new_shape", pairs)

turtle.clearscreen()

turtle.shape("new_shape")

turtle.fillcolor("blue")

for i in range(50):

turtle.forward(5+2*i)

turtle.right(45)

效果

turtles()

使用语法:

turtle.turtles()

参数说明: 无。

使用说明:

返回屏幕上的海龟列表。

代码示例:

import turtle

turtle.begin_poly()

turtle.seth(-45)

turtle.circle(20, 90)

turtle.circle(10, 90)

turtle.circle(20, 90)

turtle.circle(10, 90)

turtle.end_poly()

pairs = turtle.get_poly()

turtle.register_shape("new_shape", pairs)

turtle.clearscreen()

turtle.shape("new_shape")

turtle.fillcolor("blue")

for i in range(50):

turtle.forward(5+2*i)

turtle.right(45)

print(turtle.turtles())

效果

window_height()

使用语法:

screen.window_height()

参数说明: 无。

使用说明:

返回海龟窗口的高度。

代码示例:

import turtle

print(turtle.window_height())

print(turtle.window_width())

效果

window_width()

使用语法:

screen. window_width()

参数说明: 无。

使用说明:

返回海龟窗口的宽度。

代码示例:

import turtle

print(turtle.window_height())

print(turtle.window_width())

效果

bye()

使用语法:

turtle.bye()

参数说明: 无。

使用说明:

关闭海龟绘图窗口。

代码示例:

import turtle

turtle.bye()

效果

exitonclick()

使用语法:

turtle.exitonclick()

参数说明: 无。

使用说明:

将 bye() 方法绑定到 Screen 上的鼠标点击事件。

代码示例:

import turtle

for i in range(3):

turtle.circle(40)

turtle.right(120)

turtle.exitonclick()

效果

setup()

使用语法:

turtle.setup(width=_CFG["width"],height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])

参数说明:

width:如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%

height:如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%

startx:如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中

starty:如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中。

使用说明:

设置主窗口的大小和位置。默认参数值保存在配置字典中,可通过 turtle.cfg 文件进行修改。

代码示例:

import turtle

turtle.setup (width=200, height=200, startx=600, starty=400)

效果

title()

使用语法:

turtle.title(titlestring)

参数说明:

titlestring:一个字符串,显示为海龟绘图窗口的标题栏文本

使用说明:

设置海龟窗口标题为 titlestring 指定的文本。

;