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 指定的文本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632704.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker镜像中搭建FastDfs

docker镜像中搭建FastDfs 一、搭建过程二、docker端口映射三、映射的方法三、配置Tracker 和 Storage 环境&#xff1a;腾讯云服务器上 ubuntu20.04镜像 一、搭建过程 正常直接在云服务器上搭建过程参考博客&#xff1a; https://blog.csdn.net/qq_38531706/article/details/…

分享如何通过定时任务调用lighthouse前端测试脚本+在持续集成测试中调用lighthouse前端测试脚本

最近写了个小工具来优化lighthouse在实际工作中的使用&#xff0c;具体实现了&#xff1a;通过定时任务调用前端测试脚本在持续集成测试中调用前端测试脚本。由于在公司中已经应用&#xff0c;所以就不能提供源码了&#xff0c;这里简单说一下实现思路&#xff0c;希望可以帮助…

武汉星起航:亚马逊跨境电商助力全球贸易:卖家轻松触达全球市场

作为全球最大的电子商务平台之一&#xff0c;亚马逊以其强大的品牌影响力和完善的服务体系&#xff0c;为全球卖家提供了一个展示和销售各类商品的广阔舞台。亚马逊跨境电商业务的快速发展&#xff0c;不仅为卖家打开了通向全球市场的大门&#xff0c;也为买家带来了更多元化、…

JS+JQ+Layui菜单栏点击URL跳转后保持选中状态

目录 一.问题描述 二.问题分析 三.问题解决 3.1JQuery解决 3.2原生JS解决 四.衍生问题 五.衍生问题解决方式 5.1JQ解决 5.2JS解决 六.效果 七.建议 一.问题描述 后端使用“Flask”开发 最近在开发个人网站&#xff0c;其中使用了“Layui”组件库来做“菜单导航栏…

Nginx日志格式配置

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Nginx(“engine x”…

数据库SQL语言实战(九)(索引)

目录 1实战目标 2前提知识 2.1索引失效的情况 2.1.1数据准备 2.1.2插入数据 2.1.3失效情况 3练习题(利用索引提高查询速度&#xff09; 题目一 题目二​ 题目三​ 题目四​ 题目五​ 总结 1实战目标 对比有无索引情况下数据检索速度,学会如何能够使用索引,掌握如何…

130.哈希表:赎金信(力扣)

题目描述 代码解决 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 创建一个大小为26的整数数组&#xff0c;用于存储每个字母在magazine中的出现次数int hash[26] {0};// 遍历magazine&#xff0c;将每个字母的出现次数记录在hash数组…

The 13th Shandong ICPC Provincial Collegiate Programming Contest

The 13th Shandong ICPC Provincial Collegiate Programming Contest The 13th Shandong ICPC Provincial Collegiate Programming Contest A. Orders 题意&#xff1a;有n个订单&#xff0c; 每日可生产k个产品&#xff0c;每个订单给出交付日和交付数量&#xff0c;是否能…

谈谈【软件测试的基础知识,基础模型】

关于软件测试的基本概念和基本模型 前言一个优秀的测试人员具备的素质关于需求测试用例软件错误(BUG)概念开发模型瀑布模型&#xff08;Waterfall Model&#xff09;螺旋模型&#xff08;Spiral Model&#xff09; 前言 首先,什么是软件测试? 通俗来讲:软件测试就是找BUG&…

Vitis HLS 学习笔记--优化本地存储器访问瓶颈

目录 1. 简介 2. 代码解析 2.1 原始代码 2.2 优化后 2.3 分析优化措施 3. 总结 1. 简介 在Vitis HLS中&#xff0c;实现II&#xff08;迭代间隔&#xff09; 1是提高循环执行效率的关键。II1意味着每个时钟周期都可以开始一个新的迭代&#xff0c;这是最理想的情况&…

Java面试八股之HashSet和TreeSet有什么区别

Java中HashSet和TreeSet有什么区别 1. 底层数据结构 HashSet: 基于哈希表&#xff08;实际上是 HashMap 的内部实现&#xff09;实现。每个元素通过其 hashCode() 方法计算出哈希码&#xff0c;并通过哈希码确定其在哈希表中的位置。这种结构使得 HashSet 在插入、删除和查找…

Win11下Java环境安装指南

Windows下Java环境安装指南 前言一、安装简介JDK与JRE安装包 二、JDK安装检查操作系统类型基于Win11基于Win10 安装包准备工作 三、配置环境配置JAVA_HOME配置Path配置CLASSPATH 四、检验配置是否打开cmd命令行窗口输出java -version命令 五、注意事项 前言 在Windows系统上安…

数据结构-栈(带图)

目录 栈的概念 画图理解栈 栈的实现 fun.h fun.c main.c 栈的概念 栈&#xff08;Stack&#xff09;是一种基本的数据结构&#xff0c;其特点是只允许在同一端进行插入和删除操作&#xff0c;这一端被称为栈顶。遵循后进先出&#xff08;Last In, First Out, LIFO&#…

yarn : 无法加载文件 C:\app\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本

系统运行yarn命令报错 解决办法&#xff1a; 一、点击电脑右下角的开始&#xff0c;菜单出来后&#xff0c;直接按键盘输入powerShell搜索&#xff0c;然后右键以管理员身份运行 二、以管理员运行后&#xff0c;会出现下面命令窗口 在窗口上执行&#xff1a;set-ExecutionPoli…

羊大师分析,羊奶健康生活的营养源泉

羊大师分析&#xff0c;羊奶健康生活的营养源泉 羊奶&#xff0c;作为一种古老的饮品&#xff0c;近年来因其独特的营养价值和健康益处而备受关注。今天&#xff0c;羊大师就来探讨一下羊奶与健康之间的紧密联系。 羊奶富含蛋白质、脂肪、维生素和矿物质等多种营养成分。羊奶…

哪家PMP培训机构比较优秀?

不同的培训机构在服务、收费和师资上会有一些差异&#xff0c;但基本都差不多。老师的授课方式对学习兴趣很重要&#xff0c;价格在3000-4000左右&#xff0c;选择中间价位比较好。服务也很关键&#xff0c;有的机构提供代报名和PDU等额外服务。关于机构排名的文章可以参考&…

InnoDB 事务处理机制

文章目录 前言1. 事务处理挑战1.1 事务机制处理的问题1.2 并发事务带来的问题 2. InnodDB 和 ACID 模型2.1 Innodb Buffer Pool2.2 Redo log2.3 Undo log2.4 应用案例 3. 隔离级别和锁机制3.1 事务隔离级别3.1.1 READ UNCOMMITTED3.1.2 READ COMMITTED3.1.3 REPEATABLE READ3.1…

CCF20181201——小明上学

CCF20181201——小明上学 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int r,y,g,n,k[101],t[101],sum0;cin>>r>>y>>g;cin>>n; for(int i0;i<n;i){cin>>k[i]>>t[i];if(k[i]0||k[i]1)sumt[i];…

Linux中的计划任务(crontab)详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Linux的起源与发展 2、什么是计划任务&#xf…

Xilinx RAM IP核的使用及注意事项

对于RAM IP核(Block Memory Generator核)的使用以及界面的配置介绍&#xff0c;文章RAM的使用介绍进行了较详细的说明&#xff0c;本文对RAM IP核使用中一些注意的地方加以说明。 文章目录 三种RAM的区别单端口RAM(Single-port RAM)简单双端口RAM(Simple Dual-port RAM)真双端…