python turtle画图代码大全,python turtle画房子代码

大家好,小编来为大家解答以下问题,python turtle画完图怎么停在界面,python turtle画图代码大全,今天让我们一起来看看吧!

概述:

海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言python for语句用法
请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。
中文文档

可用的 Turtle 和 Screen 方法概览:

Turtle方法:

海龟动作:
移动和绘制:
方法参数说明
turtle.forward(distance)
turtle.fd(distance)
distance:一个数值 (整型或浮点型)前进:海龟前进 distance 指定的距离,方向为海龟的朝向。
turtle.backward(distance)
turtle.back(distance)
turtle.bk(distaance)
distance:一个数值 (整型或浮点型)后退:海龟前进 distance 指定的距离,方向为海龟的朝向。
turtle.right(angle)
turtle.rt(angle)
angle:一个数值 (整型或浮点型)右转:海龟右转 angle 个单位。(单位默认为角度,但可通过 degrees() 和 radians() 函数改变设置。) 角度的正负由海龟模式确定。
turtle.left(angle)
turtle.lt(angle)
angle:一个数值 (整型或浮点型)左转:海龟左转 angle 个单位。(单位默认为角度,但可通过 degrees() 和 radians() 函数改变设置。) 角度的正负由海龟模式确定。
turtle.goto(x, y=None)
turtle.setpos(x,y=None)
turtle.setposition(x,y=None)
x:一个数值或数值对/向量
y:一个数值或None
前往定位:如果 y 为 None,x 应为一个表示坐标的数值对或 Vec2D 类对象 (例如 pos() 返回的对象).海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。
turtle.setx(x)x:一个数值 (整型或浮点型)设置x坐标:设置海龟的横坐标为 x,纵坐标保持不变。
turtle.sety(y)y:一个数值 (整型或浮点型)设置y坐标:设置海龟的纵坐标为 y,横坐标保持不变。
turtle.setheading(to_angle)
turtle.seth(to_angle)
to_angle:一个数值 (整型或浮点型)设置朝向:设置海龟的朝向为 to_angle
标准模式:0-东,90-北,180-西,270-南
logo模式:0-北,90-东,180-南,270-西
turtle.home()返回原点:海龟移至初始坐标 (0,0),并设置朝向为初始方向 。
turtle.circle(randius, extent=None, steps=None)randius:半径
extent:夹角
steps:边的数量
画圆:绘制一个 radius 指定半径的圆。圆心在海龟左边 radius 个单位;extent 为一个夹角,用来决定绘制圆的一部分。如未指定 extent*则绘制整个圆。如果 *extent 不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。最终海龟的朝向会依据 extent 的值而改变。
turtle.dot(size=None,*color)size:一个整型数 >= 1 (如果指定)
color:一个颜色字符串或颜色数值元组
画点:绘制一个直径为 size,颜色为 color 的圆点。如果 size 未指定,则直径取 pensize+4 和 2*pensize 中的较大值。
turtle.stamp()印章:在海龟当前位置印制一个海龟形状。返回该印章的 stamp_id,印章可以通过调用 clearstamp(stamp_id) 来删除。
turtle.clearstamp(stampid)stampid :一个整型数,必须是之前 stamp() 调用的返回值清除印章:删除 stampid 指定的印章。
turtle.clearstamps(n=None)n:一个整型数 (或 None)清除多个印章:删除全部或前/后 n 个海龟印章。如果 n 为 None 则删除全部印章,如果 n > 0 则删除前 n 个印章,否则如果 n < 0 则删除后 n 个印章。
turtle.undo()撤销:撤消 (或连续撤消) 最近的一个 (或多个) 海龟动作。可撤消的次数由撤消缓冲区的大小决定。
turtle.speed(speed=None)speed:一个 0…10 范围内的整型数或速度字符串
"fastest":0最快
"fast":10快
"normal":6正常
"slow":3慢
"slowest":1最慢
速度:设置海龟移动的速度为 0…10 表示的整型数值。如未指定参数则返回当前速度。
获取海龟的状态:
方法参数说明
turtle.position()
turtle.pos()
位置:返回海龟当前的坐标 (x,y) (为 Vec2D 矢量类对象)。
turtle.towards(x,y=None)x:一个数值或数值对/矢量,或一个海龟实例
y:一个数值——如果 x 是一个数值,否则为 None
目标方向:返回从海龟位置到由 (x,y)、矢量或另一海龟所确定位置的连线的夹角。 此数值依赖于海龟的初始朝向,这又取决于 “standard”/“world” 或 “logo” 模式设置。
turtle.xcor()返回海龟的x坐标
turtle.ycor()返回海龟的y坐标
turtle.heading()返回海龟当前的朝向
turtle.distance(x, y=None)x:一个数值或数值对/矢量,或一个海龟实例。
y:一个数值——如果 x 是一个数值,否则为 None
距离:返回从海龟位置到由 (x,y),适量或另一海龟对应位置的单位距离。
设置与度量单位:
方法参数说明
turtle.degrees(fullcircle=360.0)fullcircle:一个数值角度:设置角度的度量单位,即设置一个圆周为多少 “度”。默认值为 360 度。
turtle.radians()弧度:设置角度的度量单位为弧度。其值等于 degrees(2*math.pi)。
画笔控制:
绘图状态:
方法参数说明
turtle.pendown()
turtle.down()
turtle.pd()
画笔落下
turtle.pendup()
turtle.up()
turtle.pu()
画笔抬起
turtle.pensize(width=None)
turtle.width(width=None)
width:一个数值画笔粗细:设置线条的粗细为 width 或返回该值。如果 resizemode 设为 “auto” 并且 turtleshape 为多边形,该多边形也以同样组细的线条绘制。如未指定参数,则返回当前的 pensize。
turtle.pen(pen=None, **pendict)pen:一个包含部分或全部下列键的字典
pendict:一个或多个以下列键为关键字的关键字参数
画笔
turtle.isdown()画笔是否落下:如果画笔落下返回 True,如果画笔抬起返回 False。
颜色控制:
方法参数说明
turtle.color(*args)color():返回以一对颜色描述字符串或元组表示的当前画笔颜色和填充颜色,两者可分别由 pencolor() 和 fillcolor() 返回。
color(colorstring), color((r,g,b)), color(r,g,b)输入格式与 pencolor() 相同,同时设置填充颜色和画笔颜色为指定的值。
color(colorstring1, colorstring2), color((r1,g1,b1), (r2,g2,b2))相当于 pencolor(colorstring1) 加 fillcolor(colorstring2),使用其他输入格式的方法也与之类似。
返回或设置画笔颜色和填充颜色
turtle.pencolor(*args)允许以下四种输入格式:
pencolor()
pencolor(colorstring)
pencolor((r, g, b))
pencolor(r, g, b)
返回或设置画笔颜色。
turtle.fillcolor(*args)允许以下四种输入格式:
fillcolor()
fillcolor(colorstring)
fillcolor((r, g, b))
fillcolor(r, g, b)
返回或设置填充颜色
填充:
方法参数说明
turtle.filling()返回填充状态 (填充为 True,否则为 False)。
turtle.begin_fill()开始填充:在绘制要填充的形状之前调用。
turtle.end_fill()结束填充:填充上次调用 begin_fill() 之后绘制的形状
更多绘图控制:
方法参数说明
turtle.reset()重置 :从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值。
turtle.clear()清空 :从屏幕中删除指定海龟的绘图。不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。
turtle.write(arg, move=False, align=“left”, font=(“Arial”, 8, “normal”))arg – 要书写到 TurtleScreen 的对象
move – True/False
align – 字符串 “left”, “center” 或 "right"
font – 一个三元组 (fontname, fontsize, fonttype)
书写 :基于 align (“left”, “center” 或 “right”) 并使用给定的字体将文本 —— arg 的字符串表示形式 —— 写到当前海龟位置。 如果 move 为真值,画笔会移至文本的右下角。 默认情况下 move 为 False。
海龟状态:
可见性:
方法参数说明
turtle.showturtle()st()显示海龟
turtle.hideturtle()ht()隐藏海龟:使海龟不可见。当你绘制复杂图形时这是个好主意,因为隐藏海龟可显著加快绘制速度。
turtle.isvisible()海龟是否可见:如果海龟显示返回 True,如果海龟隐藏返回 False。
外观:
方法参数说明
turtle.shape(name=None)name:一个有效的形状名字符串
"arrow",“turtle”,“circle”,“square”,“triangle”,“classic”
形状
turtle.resizemode(rmode=None)rmode:字符串 “auto”, “user”, “noresize” 其中之一大小调整模式:设置大小调整模式为以下值之一: “auto”, “user”, “noresize”。如未指定 rmode 则返回当前的大小调整模式。
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-拉伸因子和/或轮廓。
turtle.shearfactor(shear=None)shear – 数值 (可选)剪切因子:设置或返回当前的剪切因子。
turtle.settiltangle(angle)angle – 一个数值设置倾角:旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角,不 改变海龟的朝向 (移动方向)。
turtle.tiltangle(angle=None)angle – 一个数值 (可选)倾角:设置或返回当前的倾角。如果指定 angle 则旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角。不 改变海龟的朝向 (移动方向)。如果未指定 angle: 返回当前的倾角,即海龟形状的方向和海龟朝向 (移动方向) 之间的夹角。
turtle.tilt(angle)angle – 一个数值倾斜:海龟形状自其当前的倾角转动 angle 指定的角度,但 不 改变海龟的朝向 (移动方向)。
turtle.shapetransform(t11=None, t12=None, t21=None, t22=None)t11,t12,t21,t22一个数值(可选)变形:设置或返回海龟形状的当前变形矩阵。
turtle.get_shapepoly()获取形状多边形:返回以坐标值对元组表示的当前形状多边形。这可以用于定义一个新形状或一个复合形状的多个组成部分。
使用事件:
方法参数说明
turtle.onclick(fun, btn=1, add=None)fun – 一个函数,调用时将传入两个参数表示在画布上点击的坐标
btn – 鼠标按钮编号,默认值为 1 (鼠标左键)
add – True 或 False – 如为 True 则将添加一个新绑定,否则将取代先前的绑定
鼠标单击
turtle.onrelease(fun, btn=1, add=None)fun – 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn – 鼠标按钮编号,默认值为 1 (鼠标左键)
add – True 或 False – 如为 True 则将添加一个新绑定,否则将取代先前的绑定
鼠标释放
turtle.ondrag(fun, btn=1, add=None)fun – 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn – 鼠标按钮编号,默认值为 1 (鼠标左键)
add – True 或 False – 如为 True 则将添加一个新绑定,否则将取代先前的绑定
鼠标拖动
特殊海龟方法:
方法参数说明
turtle.begin_poly()开始记录多边形 :开始记录多边形的顶点。当前海龟位置为多边形的第一个顶点。
turtle.end_poly()停止记录多边形:停止记录多边形的顶点。当前海龟位置为多边形的最后一个顶点。它将连线到第一个顶点。
turtle.get_poly()获取多边形:返回最新记录的多边形。
turtle.clone()克隆:创建并返回海龟的克隆体,具有相同的位置、朝向和海龟属性。
turtle.getturtle()
turtle. getpen()
返回海龟对象自身。
turtle.getscreen()获取屏幕
turtle.setundobuffer(size)size – 一个整型数值或 None设置撤销缓冲区
turtle.undobufferentries()撤销缓冲区条目数

Screen方法:

窗口控制:
方法参数说明
screen.bgcolor(*args)args – 一个颜色字符串或三个取值范围 0…colormode 内的数值或一个取值范围相同的数值3元组设置或返回 TurtleScreen 的背景颜色。
“orange”,"#800080"
背景颜色
screen.bgpic(picname=None)picname – 一个字符串, gif-文件名, “nopic”, 或 None背景图片:设置背景图片或返回当前背景图片名称。如果 picname 为一个文件名,则将相应图片设为背景。如果 picname 为 “nopic”,则删除当前背景图片。如果 picname 为 None,则返回当前背景图片文件名。
screen.clear()
screen.clearscreen()
清屏:从中删除所有海龟的全部绘图。将已清空的 TurtleScreen 重置为初始状态: 白色背景,无背景片,无事件绑定并启用追踪。
screen.reset()
screen. resetscreen()
重置:重置屏幕上的所有海龟为其初始状态。
screen.screensize(canvwidth=None, canvheight=None, bg=None)canvwidth – 正整型数,以像素表示画布的新宽度值
canvheight – 正整型数,以像素表示画面的新高度值
bg – 颜色字符串或颜色元组,新的背景颜色
屏幕大小
screen.setworldcoordinates(llx, lly, urx, ury)llx – 一个数值, 画布左下角的 x-坐标
lly – 一个数值, 画布左下角的 y-坐标
urx – 一个数值, 画面右上角的 x-坐标
ury – 一个数值, 画布右上角的 y-坐标
设置世界坐标系:设置用户自定义坐标系并在必要时切换模式为 “world”。这会执行一次 screen.reset()。如果 “world” 模式已激活,则所有图形将根据新的坐标系重绘。
动画控制:
方法参数说明
screen.delay(delay=None)delay – 正整型数延时 :设置或返回以毫秒数表示的延迟值 delay。
(这约等于连续两次画布刷新的间隔时间。)
绘图延迟越长,动画速度越慢。
screen.tracer(n=None, delay=None)n – 非负整型数
delay – 非负整型数
追踪:启用/禁用海龟动画并设置刷新图形的延迟时间。
如果指定 n 值,则只有每第 n 次屏幕刷新会实际执行。
(可被用来加速复杂图形的绘制。)
如果调用时不带参数,则返回当前保存的 n 值。
第二个参数设置延迟值 (参见 delay())。
screen.update()更新:执行一次 TurtleScreen 刷新。在禁用追踪时使用。
使用屏幕事件:
方法参数说明
screen.listen(xdummy=None, ydummy=None)监听:设置焦点到 TurtleScreen (以便接收按键事件)。使用两个 Dummy 参数以便能够传递 listen() 给 onclick 方法。
screen.onkey(fun, key)
screen.onkeyrelease(fun, key)
fun – 一个无参数的函数或 None
key – 一个字符串: 键 (例如 “a”) 或键标 (例如 “space”)
当键盘按下并释放
screen.onkeypress(fun, key=None)fun – 一个无参数的函数或 None
key – 一个字符串: 键 (例如 “a”) 或键标 (例如 “space”)
当键盘按下:绑定 fun 指定的函数到指定键的按下事件。
screen.onclick(fun, btn=1, add=None)
screen.onscreenclick(fun, btn=1, add=None)
fun – 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn – 鼠标按钮编号,默认值为 1 (鼠标左键)
add – True 或 False – 如为 True 则将添加一个新绑定,否则将取代先前的绑定
当点击屏幕:绑定 fun 指定的函数到鼠标点击屏幕事件。如果 fun 值为 None,则移除现有的绑定。
screen.ontimer(fun, t=0)fun – 一个无参数的函数
t – 一个数值 >= 0
当达到定时:安装一个计时器,在 t 毫秒后调用 fun 函数。
screen.mainloop()
screen. done()
主循环:开始事件循环 - 调用 Tkinter 的 mainloop 函数。必须作为一个海龟绘图程序的结束语句。如果一个脚本是在以 -n 模式 (无子进程) 启动的 IDLE 中运行时 不可 使用 - 用于实现海龟绘图的交互功能。
设置与特殊方法:
方法参数说明
screen.mode(mode=None)mode – 字符串 “standard”, “logo” 或 “world” 其中之一模式:设置海龟模式 (“standard”, “logo” 或 “world”) 并执行重置。如未指定模式则返回当前的模式。
screen.colormode(cmode=None)cmode – 数值 1.0 或 255 其中之一颜色模式:返回颜色模式或将其设为 1.0 或 255。构成颜色三元组的 r, g, b 数值必须在 0…cmode 范围之内。
screen.getcanvas()获取画布:返回此 TurtleScreen 的 Canvas 对象。供了解 Tkinter 的 Canvas 对象内部机理的人士使用。
screen.getshapes()获取形状:返回所有当前可用海龟形状的列表。
screen.register_shape(name, shape=None)
screen.addshape(name, shape=None)
1.name 为一个 gif 文件的文件名, shape 为 None: 安装相应的图像形状。
2.name 为指定的字符串,shape 为由坐标值对构成的元组: 安装相应的多边形形状。
3. name 为指定的字符串, 为一个 (复合) Shape 类对象: 安装相应的复合形状。
添加形状
screen.turtles()所有海龟:返回屏幕上的海龟列表。
screen.window_height ()窗口高度:返回海龟窗口的高度。
screen.window_width()窗口宽度:返回海龟窗口的宽度。
输入方法:
方法参数说明
screen.textinput(title, prompt)title – 字符串
prompt – 字符串
文本输入:弹出一个对话框窗口用来输入一个字符串。
screen.numinput(title, prompt, default=None, minval=None, maxval=None)title – 字符串
prompt – 字符串
default – 数值 (可选)
minval – 数值 (可选)
maxval – 数值 (可选)
数字输入:弹出一个对话框窗口用来输入一个数值。title 为对话框窗口的标题,prompt 为一条文本,通常用来描述要输入的数值信息。default: 默认值, minval: 可输入的最小值, maxval: 可输入的最大值。输入数值的必须在指定的 minval … maxval 范围之内,否则将给出一条提示,对话框保持打开等待修改。返回输入的数值。如果对话框被取消则返回 None。
Screen专有方法:
方法参数说明
screen.bye()退出:关闭海龟绘图窗口。
screen.exitonclickk()当点击时退出 :将 bye() 方法绑定到 Screen 上的鼠标点击事件。
screen.setup(width=_CFG[“width”], height=_CFG[“height”], startx=_CFG[“leftright”], starty=_CFG[“topbottom”])width – 如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%
height – 如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%
startx – 如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中
starty – 如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中
设置主窗口的大小和位置。
screen.title(titlestring)titlestring – 一个字符串,显示为海龟绘图窗口的标题栏文本设置海龟窗口标题为 titlestring 指定的文本。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值