python 海龟图

画布

  • 导入turtle模块
import turtle
  • 定义画布

窗口边框包围着的白色区域被称为画布,画布中间的小箭头被称为海龟

 t = turtle.Turtle() #打开一个窗口,中间带有一个小箭头
 turtle.mainloop()    # 也可以使用turtle.done()
 #开始事件循环,让打开的窗口等待下一步动作

或者可以通过以下两种方法均可创建画布

    window = turtle.Screen() #创建一个窗口
    window.title("海龟图")  #设置窗口标题
    window.bgcolor("orange") #设置窗口背景颜色
    t = turtle.Turtle()
    window.mainloop()

    turtle.setup(640, 480) #设置窗口大小和位置
    turtle.title("海龟图")
    turtle.bgcolor("orange")
    t = turtle.Turtle()
    turtle.mainloop()

setup(width, height, startx=None, starty=None)分别对于画布宽度,画布高度,开始点的x坐标和y坐标。

海龟

  • 海龟状态:

隐藏:hideturtle()或ht()
显示:showturtle()或st()
判断是否显示:isvisible()
返回True/False

  • 海龟运动

朝箭头方向移动distance像素: forward(distance)或fd(distance)

朝箭头反方向移动distance像素backward(distance)或back(distance)或bk(distance)
海龟移动的速度speed(speed=None)

如果没有给出参数,则返回当前速度。speed取0-10内整数。
向左旋转(逆时针)指定角度: angle:left(angle)或lt(angle)

向右旋转(顺时针)指定角度: right(angle)或rt(angle)

将海龟的方向设置为to_angle: setheading(to_angle)或seth(to_angle)

返回海龟当前指向的方向:heading()
将海龟移动到坐标位置(x, y),不改变海龟的方向:
如果画笔处于放下状态,则绘制线段。setposition(x, y=None)或setpos(x, y=None)或goto(x, y=None)
返回当前坐标位置: positon()或pos()
设置海龟位置: setx(x) sety(y)
返回海龟位置: xcor() ycor()
移动到坐标原点其方向设置为初始方向: home()
撤销:undo()
画圆:circle(radius, extent=None, steps=None)
参数radius表示圆半径,参数extent(可选)表示弧度(单位度),参数steps(可选)表示边数。
画带颜色的圆:dot(size=None, *color)

画笔

  • 画笔状态

抬起画笔,移动时不绘制图形:penup()或pu()或up()
放下画笔,移动时绘制图形:pendown()或pd()或down()
设置画笔宽度,参数width表示宽度:
pensize(width=None)或width(width=None) - 颜色控制
判断当前画笔是否放下:isdown

  • 填充

开始填充,在绘制填充图形前调用:begin_fill()
结束填充。在绘制填充图形后调用:end_fill()
判断当前是否处于填充状态,是返回True,否返回False:filling()

  • 颜色控制

设置颜色模式:colormode(cmode=None)
设置画笔颜色:pencolor(colorstring/(r, g, b))
设置填充颜色:fillcolor(*args)
设置画笔和填充颜色:color(*args)

  • 其他
    reset(),清除画布,将海龟状态和位置重置为起始默认值。
    clear(),清除画布,海龟当前状态和位置不受影响。
    write(arg, move=False, align="left", font=("Arial", 8, "normal")),在海龟当前位置处按指定的对齐方式和字体绘制文本。

举例

# 绘制矩形
    import turtle

    def draw_rectangle(t, x, y, w, h, color = "black"):
        '''
          绘制矩形函数
          t —— 海龟对象
          x, y —— 矩形左上角坐标
          width, height —— 矩形宽度和高度
          color —— 矩形边框颜色(默认情况下为black黑色)
        '''
        t.pencolor(color)    # 设置画笔颜色
        t.up()               # 抬起画笔
        t.goto(x, y)         # 移动到矩形左上角
        t.down()             # 放下画笔
        t.goto(x + w, y)     # 移动到矩形右上角,并绘制矩形上边
        t.goto(x + w, y - h) # 移动到矩形右下角,并绘制矩形右边
        t.goto(x, y - h)     # 移动至矩形左下角,并绘制矩形下边
        t.goto(x, y)         # 移动至矩形左上角,并绘制矩形左边

    def main():
        turtle.setup(640, 480)    # 设置窗口大小
        turtle.title("绘制矩形")   # 设置窗口标题
        t = turtle.Turtle()       # 建立海龟对象
        t.hideturtle()            # 隐藏海龟
        t.pensize(10)             # 设置线宽为10像素
        draw_rectangle(t, -100, 100, 200, 200, "red") # 调用绘矩形制函数
        turtle.mainloop()

    main()

# 绘制奥林匹克环标志
    import turtle

    def draw_torus(t, x, y, radius, color):
        '''
          绘制圆环函数
          t —— 海龟对象
          x, y —— 绘制圆环的起始位置(圆心正下方)
          radius —— 圆环半径
          color —— 圆环边框颜色
        '''
        t.pencolor(color)    # 设置画笔颜色
        t.up()               # 抬起画笔
        t.goto(x, y)         # 移动到绘制位置
        t.down()             # 放下画笔
        t.circle(radius)     # 绘制圆

    def main():
        turtle.setup(640, 480)
        turtle.title("绘制奥林匹克环标志")
        t = turtle.Turtle()  # 建立海龟对象
        t.hideturtle()       # 隐藏海龟
        t.pensize(5)         # 设置线宽为5像素
        draw_torus(t, -110, -25, 45, "blue")    # 绘制蓝色环
        draw_torus(t, 0, -25, 45, "black")      # 绘制黑色环
        draw_torus(t, 110, -25, 45, "red")      # 绘制红色环
        draw_torus(t, -55, -75, 45, "yellow")   # 绘制黄色环
        draw_torus(t, 55, -75, 45, "green")     # 绘制绿色环
        turtle.mainloop()

    main()

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值