精华内容
下载资源
问答
  • import turtle turtle.left(45) turtle.fd(150) turtle.right(135) turtle.fd(300) turtle.left(135) turtle.fd(150)
  • Python中turtle库的常用函数注:使用turtle库函数需要使用import保留字,共有三种方式第一种:import turtle,对turtle库中函数调用采用turtle.()形式。第二种:form turtle import *,对turtle库中函数的调用直接...

    Python中turtle库的常用函数

    注:使用turtle库函数需要使用import保留字,共有三种方式

    第一种:import turtle,对turtle库中函数调用采用turtle.<函数名>()形式。

    第二种:form turtle import *,对turtle库中函数的调用直接采用<函数名>()形式,不再使用turtle.作为前导。

    第三种:import turtle as t ,对turtle库中函数嗲用采用更简洁的t.<函数名>()形式,保留字as的作用是将turtle库给予别名t,别名可以是任意名称。

    #turtle.pensize(width):别名turtle.width(widtn)。

    作用设置画笔宽度,当无参数时,将返回当前画笔宽度。

    参数:width,用于设置画笔线条的宽度。如果为None或者为空,将返回当前画笔的宽度。

    #turtle.color(colorstring)或者turtle.color(r,g,b)或者turtle.color((r,g,b))或者turtle.color(colorstr1,colorstr2)或者turtle.color((r1,g1,b1),(r2,g2,b2))

    作用:返回或设置画笔以及背景颜色,当无参数输入时,返回当前的画笔及背景颜色

    该函数根据输入的参数不同,有三种用法:

    colorstring:表示颜色的字符串,例如:“purple”,“red”等。

    (r,g,b):颜色对应RGB的01数值,例如1,0.65,0等。

    直接使用turtle.color()函数,返回一个二元值,例如(“purple”,“red”)分别对应画笔的颜色以及背景颜色。

    使用单参数turtle.color(colorstring)函数,同时设置画笔和背景颜色为colorstring对应的色彩。

    使用双参数turtle.color(colorstr1,colorstr2)函数,分别设置画笔和背景的颜色为colorstr1和colorstr2对应的色彩

    #turtle.color(colorstring)或者turtle.color(r,g,b)或者turtle.color((r,g,b))

    作用:返回或设置画笔颜色,当无参数输入时返回当前画笔的颜色。

    参数:colorstring:表示颜色的字符串,例如:“purple”,“red”等。(r,g,b):颜色对应RGB的01数值,例如1,0.65,0等。

    与turtle.color()函数不同,turtle.pencolor()函数仅用于返回或设置画笔函数,对于没有背景填充需要的应用,使用该函数更为合理。

    #turtle.bein_fill()

    作用:在绘制带有填充色彩图形之前调用,表示填充开始。

    参数:无。

    #turtle.end_fill()

    作用:使用在绘制带有填充色彩图形之后调用,表示填充结束。

    参数:无。

    #turtle.forward(distance) 别名:turtle.fd(distance)

    作用:向画笔当前行进方向前进distance距离。

    参数:distance,行进距离的像素值。当值为负数时,表示反方向前进。

    #turtle.backward(distance) 别名:turtle.bk(distance)

    作用:向画笔当前行进方向反方向前进distance距离。

    参数:distance,行进距离的像素值。当值为负数时,表示向前进方向前进。

    turtle.backward()函数不改变画笔的运行方向,相当于后退着行进。

    #turtle.right(angle) 别名 turtle.rt(angle)

    作用:以当前行进角度为原点,行进方向向右改变角度值angle。

    参数:角度的整数值。

    #turtle.left(angle) 别名 turtle.lt(angle)

    作用:以当前行进角度为原点,行进方向向左改变角度值angle。

    参数:角度的整数值。

    #turtle.setheading(to_angle) 别名 turtle.sth(to_angle)

    作用:设置画笔当前行进方向的角度为to_angle,该角度时绝对值方向角度值。

    参数:to_angle,角度的整数值。

    #turtle.goto(x,y)

    作用:将画笔移动到绝对值(x,y)处。

    参数:x:位置坐标系的绝对横坐标值;

    y:位置坐标系的绝对纵坐标值。

    #turtle.circle(radius,extent = None)

    作用:根据半径radius绘制extent角度的弧形。

    参数:radius:弧形半径,当为正数时,半径在画笔左侧。当值为负数时,半径在画笔的右侧。

    extent:绘制弧形的角度。当不给该参数或者该参数为None时,绘制整个圆形。

    展开全文
  • 1基础概念1.1画布(canvas)画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置。常用的画布方法有两个:screensize()和setup()。(1)turtle.screensize(canvwidth=None, canvheight=None, bg=...

    1基础概念

    1.1画布(canvas)

    画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置。

    常用的画布方法有两个:screensize()和setup()。

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

    参数分别为画布的宽(单位像素), 高, 背景颜色

    如:

    turtle.screensize(800, 600, "green")

    turtle.screensize() #返回默认大小(400, 300)

    (2)turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

    参数:

    width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例

    (startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心

    如:

    turtle.setup(width=0.6, height=0.6)

    turtle.setup(width=800, height=800, startx=100, starty=100)

    1.2画笔

    在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。

    这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态

    (1)画笔的属性

    画笔有颜色、画线的宽度等属性。

    1) turtle.pensize() :设置画笔的宽度;

    2) turtle.pencolor() :没有参数传入返回当前画笔颜色;传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

    >>> pencolor('brown')

    >>> tup = (0.2, 0.8, 0.55)

    >>> pencolor(tup)

    >>> pencolor()

    '#33cc8c'

    3) turtle.speed(speed) :设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快

    (2)绘图命令

    操纵海龟绘图有着许多的命令,这些命令可以划分为3种:运动命令,画笔控制命令和全局控制命令

    画笔运动命令:

    命令

    说明

    turtle.forward(distance)

    向当前画笔方向移动distance像素长

    turtle.backward(distance)

    向当前画笔相反方向移动distance像素长度

    turtle.right(degree)

    顺时针移动degree°

    turtle.left(degree)

    逆时针移动degree°

    turtle.pendown()

    移动时绘制图形,缺省时也为绘制

    turtle.goto(x,y)

    将画笔移动到坐标为x,y的位置

    turtle.penup()

    移动时不绘制图形,提起笔,用于另起一个地方绘制时用

    turtle.speed(speed)

    画笔绘制的速度范围[0,10]整数

    turtle.circle()

    画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

    画笔控制命令:

    命令

    说明

    turtle.pensize(width)

    绘制图形时的宽度

    turtle.pencolor()

    画笔颜色

    turtle.fillcolor(colorstring)

    绘制图形的填充颜色

    turtle.color(color1, color2)

    同时设置pencolor=color1, fillcolor=color2

    turtle.filling()

    返回当前是否在填充状态

    turtle.begin_fill()

    准备开始填充图形

    turtle.end_fill()

    填充完成;

    turtle.hideturtle()

    隐藏箭头显示;

    turtle.showturtle()

    与hideturtle()函数对应

    全局控制命令

    命令

    说明

    turtle.clear()

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

    turtle.reset()

    清空窗口,重置turtle状态为起始状态

    turtle.undo()

    撤销上一个turtle动作

    turtle.isvisible()

    返回当前turtle是否可见

    stamp()

    复制当前图形

    turtle.write(s[,font=("font-name",font_size,"font_type")])

    写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

    2、绘图展示

    2.1猴子的头(未完成)

    1621987-20190313232604427-551587987.png

    代码如下:

    import turtle

    turtle.screensize(800, 600, "green")

    turtle.pencolor("brown")

    turtle.pensize(5)

    turtle.fillcolor("brown")

    turtle.begin_fill()

    turtle.circle(90)

    turtle.circle(90,105)

    turtle.right(90)

    turtle.circle(40,-360)

    turtle.end_fill()

    turtle.left(90)

    turtle.begin_fill()

    turtle.circle(90,145)

    turtle.right(90)

    turtle.left(10)

    turtle.circle(40,-360)

    turtle.right(150)

    turtle.forward(75)

    turtle.right(90)

    turtle.forward(50)

    turtle.right(90)

    turtle.forward(10)

    turtle.end_fill()

    turtle.fillcolor("red")

    turtle.begin_fill()

    turtle.pencolor("black")

    turtle.penup

    turtle.left(180)

    turtle.pencolor("red")

    turtle.forward(20)

    turtle.right(180)

    turtle.pencolor("black")

    turtle.forward(10)

    turtle.pendown

    turtle.circle(10)

    turtle.end_fill()

    turtle.right(-90)

    turtle.forward(50)

    turtle.circle(20,105)

    turtle.left(40)

    turtle.circle(20,55)

    turtle.circle(20,-55)

    turtle.right(40)

    turtle.circle(20,-105)

    turtle.circle(-20,105)

    turtle.right(40)

    turtle.circle(-20,55)

    turtle.pencolor("brown")

    turtle.forward(40)

    turtle.right(-20)

    turtle.forward(20)

    turtle.left(90)

    turtle.forward(20)

    turtle.pencolor("black")

    turtle.fillcolor("white")

    turtle.begin_fill()

    turtle.circle(-20)

    turtle.end_fill()

    turtle.fillcolor("black")

    turtle.begin_fill()

    turtle.circle(-15)

    turtle.end_fill()

    turtle.right(180)

    turtle.pencolor("brown")

    turtle.forward(80)

    turtle.pencolor("black")

    turtle.fillcolor("white")

    turtle.begin_fill()

    turtle.circle(20)

    turtle.end_fill()

    turtle.fillcolor("black")

    turtle.begin_fill()

    turtle.circle(15)

    turtle.end_fill()

    (以后会将这个猴子完善,探索中)

    2.2太阳花

    1621987-20190313232626419-1365036886.png

    代码如下:

    from turtle import *

    color('red','yellow')

    begin_fill()

    while True:

    forward(200)

    left(170)

    if abs(pos()) <1:

    break

    end_fill()

    done()

    2.3五角星

    1621987-20190313232644427-588390993.png

    代码如下:

    import turtle

    turtle.pensize(10)

    turtle.pencolor("red")

    turtle.fillcolor("yellow")

    turtle.begin_fill()

    for i in range(5):

    turtle.forward(120)

    turtle.right(144)

    turtle.forward(120)

    turtle.left(72)

    turtle.end_fill()

    turtle.hideturtle()

    turtle.done()

    展开全文
  • 最近学习python,接触到turtle标准库,后面又看到利用python内置库turtle库画一个实时钟表。话不多说,直接上代码叭! import turtle from datetime import * def Skip(step): turtle.penup() turtle.forward(step...

    最近学习python,接触到turtle标准库,后面又看到利用python内置库turtle库画一个实时钟表。话不多说,直接上代码叭!

    import turtle
    from datetime import *
    def Skip(step):
        turtle.penup()
        turtle.forward(step)
        turtle.pendown()
    def mkHand(name, length):
        # 注册Turtle形状,建立表针Turtle
        turtle.reset()
        Skip(-length * 0.1)
        # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
        turtle.begin_poly()
        turtle.forward(length * 1.1)
        # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
        turtle.end_poly()
        # 返回最后记录的多边形。
        handForm = turtle.get_poly()
        turtle.register_shape(name, handForm)
    def Init():
        global secHand, minHand, hurHand, printer
        # 重置Turtle指向北
        turtle.mode("logo")
        # 建立三个表针Turtle并初始化
        mkHand("secHand", 135)
        mkHand("minHand", 125)
        mkHand("hurHand", 90)
        secHand = turtle.Turtle()
        secHand.shape("secHand")
        minHand = turtle.Turtle()
        minHand.shape("minHand")
        hurHand = turtle.Turtle()
        hurHand.shape("hurHand")
        for hand in secHand, minHand, hurHand:
            hand.shapesize(1, 1, 3)
            hand.speed(0)
        # 建立输出文字Turtle
        printer = turtle.Turtle()
        # 隐藏画笔的turtle形状
        printer.hideturtle()
        printer.penup()
    def SetupClock(radius):
        # 建立表的外框
        turtle.reset()
        turtle.pensize(7)
        for i in range(60):
            Skip(radius)
            if i % 5 == 0:
                turtle.forward(20)
                Skip(-radius - 20)
                Skip(radius + 20)
                if i == 0:
                    turtle.write(int(12), align="center", font=("Courier", 14, "bold"))
                elif i == 30:
                    Skip(25)
                    turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))
                    Skip(-25)
                elif (i == 25 or i == 35):
                    Skip(20)
                    turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))
                    Skip(-20)
                else:
                    turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))
                Skip(-radius - 20)
            else:
                turtle.dot(5)
                Skip(-radius)
            turtle.right(6)
    def Week(t):
        week = ["星期一", "星期二", "星期三",
                "星期四", "星期五", "星期六", "星期日"]
        return week[t.weekday()]
    def Date(t):
        y = t.year
        m = t.month
        d = t.day
        return "%s年%d月%d日" % (y, m, d)
    def Tick():
        # 绘制表针的动态显示
        t = datetime.today()
        second = t.second + t.microsecond * 0.000001
        minute = t.minute + second / 60.0
        hour = t.hour + minute / 60.0
        secHand.setheading(6 * second)
        minHand.setheading(6 * minute)
        hurHand.setheading(30 * hour)
        turtle.tracer(False)
        printer.forward(65)
        printer.write(Week(t), align="center",
                      font=("Courier", 14, "bold"))
        printer.back(130)
        printer.write(Date(t), align="center",
                    font=("Courier", 14, "bold"))
        printer.home()
        turtle.tracer(True)
        # 100ms后继续调用tick
        turtle.ontimer(Tick, 100)
    def main():
        # 打开/关闭龟动画,并为更新图纸设置延迟。
        turtle.tracer(False)
        Init()
        SetupClock(160)
        turtle.tracer(True)
        Tick()
        turtle.mainloop()
    if __name__ == "__main__":
        main()
    

    **

    运行结果:

    **
    在这里插入图片描述

    展开全文
  • python_turtle库函数

    2020-05-26 20:13:43
    海龟绘图:https://docs.python.org/zh-cn/3/library/turtle.html

    海龟绘图:

    turtle官方文档

    概述

    海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。

    请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。
    使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。
    通过组合使用此类命令,可以轻松地绘制出精美的形状和图案。
    turtle 模块是基于 Python 标准发行版 2.5 以来的同名模块重新编写并进行了功能扩展。
    新模块尽量保持了原模块的特点,并且(几乎)100%与其兼容。这就意味着初学编程者能够以交互方式使用模块的所有命令、类和方法——运行 IDLE 时注意加 -n 参数。
    turtle 模块提供面向对象和面向过程两种形式的海龟绘图基本组件。由于它使用 tkinter 实现基本图形界面,因此需要安装了 Tk 支持的 Python 版本。

    turtle方法

    海龟动作

    移动和绘制

    forward() | fd() 前进
    backward() | bk() | back() 后退
    right() | rt() 右转
    left() | lt() 左转
    goto() | setpos() | setposition() 前往/定位
    setx() 设置x坐标
    sety() 设置y坐标
    setheading() | seth() 设置朝向
    home() 返回原点
    circle() 画圆
    dot() 画点
    stamp() 印章
    clearstamp() 清除印章
    clearstamps() 清除多个印章
    undo() 撤消
    speed() 速度
    

    获取海龟的状态

    position() | pos() 位置
    towards() 目标方向
    xcor() x坐标
    ycor() y坐标
    heading() 朝向
    distance() 距离
    

    设置与度量单位

    degrees() 角度
    radians() 弧度
    

    画笔控制

    绘图控制

    pendown() | pd() | down() 画笔落下
    penup() | pu() | up() 画笔抬起
    pensize() | width() 画笔粗细
    pen() 画笔
    isdown() 画笔是否落下
    

    颜色控制

    color() 颜色
    pencolor() 画笔颜色
    fillcolor() 填充颜色
    

    填充

    filling() 是否填充
    begin_fill() 开始填充
    end_fill() 结束填充
    

    更多绘图控制

    reset() 重置
    clear() 清空
    write() 书写
    

    海龟状态

    可见性

    showturtle() | st() 显示海龟
    hideturtle() | ht() 隐藏海龟
    isvisible() 是否可见
    

    外观

    shape() 形状
    resizemode() 大小调整模式
    shapesize() | turtlesize() 形状大小
    shearfactor() 剪切因子
    settiltangle() 设置倾角
    tiltangle() 倾角
    tilt() 倾斜
    shapetransform() 变形
    get_shapepoly() 获取形状多边形
    

    使用事件

    onclick() 当鼠标点击
    onrelease() 当鼠标释放
    ondrag() 当鼠标拖动
    

    特殊海龟方法

    begin_poly() 开始记录多边形
    end_poly() 结束记录多边形
    get_poly() 获取多边形
    clone() 克隆
    getturtle() | getpen() 获取海龟画笔
    getscreen() 获取屏幕
    setundobuffer() 设置撤消缓冲区
    undobufferentries() 撤消缓冲区条目数
    

    TurtleScreen/Screen 方法

    窗口控制

    bgcolor() 背景颜色
    bgpic() 背景图片
    clear() | clearscreen() 清屏
    reset() | resetscreen() 重置
    screensize() 屏幕大小
    setworldcoordinates() 设置世界坐标系
    

    动画控制

    delay() 延迟
    tracer() 追踪
    update() 更新
    

    使用屏幕事件

    listen() 监听
    onkey() | onkeyrelease() 当键盘按下并释放
    onkeypress() 当键盘按下
    onclick() | onscreenclick() 当点击屏幕
    ontimer() 当达到定时
    mainloop() | done() 主循环
    

    设置与特殊方法

    mode() 模式
    colormode() 颜色模式
    getcanvas() 获取画布
    getshapes() 获取形状
    register_shape() | addshape() 添加形状
    turtles() 所有海龟
    window_height() 窗口高度
    window_width() 窗口宽度
    

    输入方法

    textinput() 文本输入
    numinput() 数字输入
    

    Screen专用方法

    bye() 退出
    exitonclick() 当点击时退出
    setup() 设置
    title() 标题
    

    Turtle方法和对应的函数

    海龟动作

    前进

    turtle.forward(ditance)
    turtle.fd(distance)
    

    海龟前进 distance 指定的距离,方向为海龟的朝向.

    >>> turtle.position()
    (0.00,0.00)
    >>> turtle.forward(25)
    >>> turtle.position()
    (25.00,0.00)
    >>> turtle.forward(-75)
    >>> turtle.position()
    (-50.00,0.00)
    

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

    turtle.back(distance)
    turtle.bk(distance)
    turtle.backward(distance)
    
    >>> turtle.position()
    (0.00,0.00)
    >>> turtle.backward(30)
    >>> turtle.position()
    (-30.00,0.00)
    

    左转

    turtle.right(angle)
    turtle.rt(angle)
    
    

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

    >>> turtle.heading()
    22.0
    >>> turtle.right(45)
    >>> turtle.heading()
    337.0
    

    右转

    turtle.left(angle)
    turtle.lt(angle)
    

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

    >>> turtle.heading()
    22.0
    >>> turtle.left(45)
    >>> turtle.heading()
    67.0
    

    定点移动

    turtle.goto(x, y=None)
    turtle.setpos(x, y=None)
    turtle.setposition(x, y=None)
    

    如果 y 为 None,x 应为一个表示坐标的数值对或 Vec2D 类对象 (例如 pos() 返回的对象).

    海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。

     >>> tp = turtle.pos()
     >>> tp
     (0.00,0.00)
     >>> turtle.setpos(60,30)
     >>> turtle.pos()
     (60.00,30.00)
     >>> turtle.setpos((20,80))
     >>> turtle.pos()
     (20.00,80.00)
     >>> turtle.setpos(tp)
     >>> turtle.pos()
     (0.00,0.00)
    

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

    turtle.setx(x)
    
    >>> turtle.position()
    (0.00,240.00)
    >>> turtle.setx(10)
    >>> turtle.position()
    (10.00,240.00)
    

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

    turtle.sety(y)
    
    >>> turtle.position()
    (0.00,40.00)
    >>> turtle.sety(-10)
    >>> turtle.position()
    (0.00,-10.00)
    

    设置海龟的角度
    设置海龟的朝向为 to_angle。以下是以角度表示的几个常用方向:
    在这里插入图片描述

    turtle.setheading(to_angle)
    turtle.seth(to_angle)>>> turtle.setheading(90)
    >>> turtle.heading()
    90.0
    

    海龟回家
    海龟移至初始坐标 (0,0),并设置朝向为初始方向 (由海龟模式确定,参见 mode())。

    turtle.home()
    
    >>> turtle.heading()
    90.0
    >>> turtle.position()
    (0.00,-10.00)
    >>> turtle.home()
    >>> turtle.position()
    (0.00,0.00)
    >>> turtle.heading()
    0.0
    

    海龟画圆
    绘制一个 radius 指定半径的圆。圆心在海龟左边 radius 个单位;extent 为一个夹角,用来决定绘制圆的一部分。如未指定 extent*则绘制整个圆。如果 *extent 不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。最终海龟的朝向会依据 extent 的值而改变。

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

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

    radius – 一个数值
    extent – 一个数值 (或 None)
    steps – 一个整型数 (或 None)

    >>> turtle.home()
    >>> turtle.position()
    (0.00,0.00)
    >>> turtle.heading()
    0.0
    >>> turtle.circle(50)
    >>> turtle.position()
    (-0.00,0.00)
    >>> turtle.heading()
    0.0
    >>> turtle.circle(120, 180)  # draw a semicircle
    >>> turtle.position()
    (0.00,240.00)
    >>> turtle.heading()
    180.0
    

    海龟画点
    绘制一个直径为 size,颜色为 color 的圆点。如果 size 未指定,则直径取 pensize+4 和 2*pensize 中的较大值。

    turtle.dot(size=None, *color)
    

    size – 一个整型数 >= 1 (如果指定)
    color – 一个颜色字符串或颜色数值元组

    >>> turtle.home()
    >>> turtle.dot()
    >>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
    >>> turtle.position()
    (100.00,-0.00)
    >>> turtle.heading()
    0.0
    

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

    turtle.stamp()
    
    >>> turtle.color("blue")
    >>> turtle.stamp()
    11
    >>> turtle.fd(50)
    

    海龟清除印章

    turtle.clearstamp(stampid)
    #stampid -- 一个整型数,必须是之前 stamp() 调用的返回值
    

    删除 stampid 指定的印章。

    >>> turtle.position()
    (150.00,-0.00)
    >>> turtle.color("blue")
    >>> astamp = turtle.stamp()
    >>> turtle.fd(50)
    >>> turtle.position()
    (200.00,-0.00)
    >>> turtle.clearstamp(astamp)
    >>> turtle.position()
    (200.00,-0.00)
    
    turtle.clearstamps(n=None)
    #n -- 一个整型数 (或 None)
    

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

    >>> for i in range(8):
    ...     turtle.stamp(); turtle.fd(30)
    13
    14
    15
    16
    17
    18
    19
    20
    >>> turtle.clearstamps(2)
    >>> turtle.clearstamps(-2)
    >>> turtle.clearstamps()
    

    撤销海龟动作

    turtle.undo()
    

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

    >>> for i in range(4):
    ...     turtle.fd(50); turtle.lt(80)
    ...
    >>> for i in range(8):
    ...     turtle.undo()
    

    控制海龟速度

    turtle.speed(speed=None)
    #speed -- 一个 0..10 范围内的整型数或速度字符串 (见下)
    

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

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

    “fastest”: 0 最快

    “fast”: 10 快

    “normal”: 6 正常

    “slow”: 3 慢

    “slowest”: 1 最慢

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

    注意: speed = 0 表示 没有 动画效果。forward/back 将使海龟向前/向后跳跃,同样的 left/right 将使海龟立即改变朝向。

    >>> turtle.speed()
    3
    >>> turtle.speed('normal')
    >>> turtle.speed()
    6
    >>> turtle.speed(9)
    >>> turtle.speed()
    9
    

    获取海龟状态

    海龟当前位置

    turtle.position()
    turtle.pos()

    返回海龟当前的坐标 (x,y) (为 Vec2D 矢量类对象)。

    >>> turtle.pos()
    (440.00,-0.00)
    

    求海龟与设定位置之间的夹角

    turtle.towards(x, y=None)#x -- 一个数值或数值对/矢量,或一个海龟实例
    #y -- 一个数值——如果 x 是一个数值,否则为 None
    

    从海龟位置到由 (x,y),矢量或另一海龟对应位置的连线的夹角。此数值依赖于海龟初始朝向 - 由 “standard”/“world” 或 “logo” 模式设置所决定)。

    >>> turtle.goto(10, 10)
    >>> turtle.towards(0,0)
    225.0
    

    返回海龟当前x轴的坐标

    turtle.xcor()
    
    >>> turtle.home()
    >>> turtle.left(50)
    >>> turtle.forward(100)
    >>> turtle.pos()
    (64.28,76.60)
    >>> print(round(turtle.xcor(), 5))
    64.27876
    

    返回海龟当前y轴的坐标

    turtle.ycor()
    
    >>> turtle.home()
    >>> turtle.left(60)
    >>> turtle.forward(100)
    >>> print(turtle.pos())
    (50.00,86.60)
    >>> print(round(turtle.ycor(), 5))
    86.60254
    

    返回海龟当前的朝向

    turtle.heading()
    
    >>> turtle.home()
    >>> turtle.left(67)
    >>> turtle.heading()
    67.0
    

    返回当前与给定点之间的绝对距离

    turtle.distance(x,y)
    #x -- 一个数值或数值对/矢量,或一个海龟实例
    #y -- 一个数值——如果 x 是一个数值,否则为 None
    
    >>> turtle.home()
    >>> turtle.distance(30,40)
    50.0
    >>> turtle.distance((30,40))
    50.0
    >>> joe = Turtle()
    >>> joe.forward(77)
    >>> turtle.distance(joe)
    77.0
    

    度量单位设置

    设置角度的度量单位

    turtle.degrees(fullcircle=360.0)
    

    设置角度的度量单位,即设置一个圆周为多少 “度”。默认值为 360 度。在这里插入代码片

    >>> turtle.home()
    >>> turtle.left(90)
    >>> turtle.heading()
    90.0
    
    Change angle measurement unit to grad (also known as gon,
    grade, or gradian and equals 1/100-th of the right angle.)
    >>> turtle.degrees(400.0)
    >>> turtle.heading()
    100.0
    >>> turtle.degrees(360)
    >>> turtle.heading()
    90.0
    

    设置角度为弧度

    turtle.radians()
    

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

    >>> turtle.home()
    >>> turtle.left(90)
    >>> turtle.heading()
    90.0
    >>> turtle.radians()
    >>> turtle.heading()
    1.5707963267948966
    

    画笔控制

    绘图状态

    #抬笔
    turtle.penup()
    turtle.pu()
    turtle.up()
    #落笔
    turtle.pendown()
    turtle.pd()
    turtle.down()
    #画笔粗细
    turtle.pensize(width=None)¶
    turtle.width(width=None)
    

    画笔设置

    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”: 数值

    此字典可作为后续调用 pen() 时的参数,以恢复之前的画笔状态。另外还可将这些属性作为关键词参数提交。使用此方式可以用一条语句设置画笔的多个属性。

    >>> turtle.pen(fillcolor="black", pencolor="red", pensize=10)
    >>> sorted(turtle.pen().items())
    [('fillcolor', 'black'), ('outline', 1), ('pencolor', 'red'),
     ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),
     ('shearfactor', 0.0), ('shown', True), ('speed', 9),
     ('stretchfactor', (1.0, 1.0)), ('tilt', 0.0)]
    >>> penstate=turtle.pen()
    >>> turtle.color("yellow", "")
    >>> turtle.penup()
    >>> sorted(turtle.pen().items())[:3]
    [('fillcolor', ''), ('outline', 1), ('pencolor', 'yellow')]
    >>> turtle.pen(penstate, fillcolor="green")
    >>> sorted(turtle.pen().items())[:3]
    [('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]
    

    画笔是否落下turtle.isdown()

    颜色控制

    获取海龟状态

    三级目录

    展开全文
  • python-turtle库函数

    千次阅读 2020-03-15 18:23:45
    turtle(海龟)库是turtle绘图体系的python体现 python计算生态=标准库+第三方库 二、绘图窗体布局 ​ turtle的一个窗体空间,像素是最小的单位 ​ 我们以窗体的左上角作为窗体的起点,与屏幕左上角的距离作为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 523
精华内容 209
关键字:

pythonturtle库函数

python 订阅