• python-turtle库


    turtle库

    turtle.done() - - - done函数让窗口进入消息循环,等待关闭

    • 设置画布大小和位置

      turtle.screensize(canvwidth=None, canvheight=None, bg=None)
      画布的宽高背景颜色

      turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
      宽高为整数时表示像素,为小数时表示占屏幕的比例,startx和starty为画布左上角顶点离电脑最左上方的距离

      turtle.screensize() 					# (400, 300)	# 查看画布大小  默认(400, 300)
      turtle.screensize(800,600,'red')		# 画布大小宽800高600背景red
      
      turtle.setup(width=0.6,height=0.6)  	# 居中心位置
      
      • 1
      • 2
      • 3
      • 4
    • 画笔常用移动指令
      pensize(width) - - - 画笔的宽度
      pencolor() - - - 画笔的颜色,可以是str和RGB3元组(0~1)
      speed() - - - 画笔移动速度[0,10] - - - 0最快,从1速度最慢到10速度越来越快

      penup() - - - 提笔
      pendown() - - - 落笔

      forward(distance) - - - 前进 fd
      backward(distance) - - - 后退 bk or back

      right(angle) - - - 向右旋转angle角度 - - - 顺时针 - - - t.rt
      left(angle) - - - 向左选择angle角度 - - - 逆时针 - - - t.lt

      goto(x, y) - - - 将画笔移动到x,y的位置

      circle(radius, e) - - - 角度e - - - 半径为正,向左(逆时针画圆)

      setheading(angle) - - - 设置当前朝向为angle角度 - - - seth

      home() - - - 将当前位置设置为原点,朝向东

      dot(r,color) - - - 画一个点

      setx() - - - 将当前x轴移动到指定位置
      sety() - - - 将当前y轴移动到指定位置

    • 画笔常用控制命令

      fill_color(colorstring) - - - 绘制图形的填充颜色
      color(color1, color2) - - - 同时设置画笔和填充色(pencolor=color1, fillcolor=color2)

      filling() - - - 返回当前是否在填充状态 - - - 返回True和False

      begin_fill() - - - 准备开始填充图形的颜色
      end_fill() - - - 填充结束

      hideturtle() - - - 隐藏画笔的turtle形状
      showturtle() - - - 显示画笔的turtle形状

    • 全局控制常用命令

      clear() - - - 清空turtle窗口,turtle的位置和状态不会改变

      reset() - - - 清空窗口,重置turtle状态为起始状态

      undo() - - - 撤销上一个turtle动作

      isvisible() - - - 返回当前turtle是否可见

      write(s[,font=(“font-name”, font_size, “font_type”)]) - - - 写文本,s为文本内容,font是字体的参数,字体的风格,可以是"normal"、“bold”、“italic"或者"underline”

      stamp() - - - 复制当前图形

    • 其他常用指令

      mainloop() 或 done() - - - 启动事件循环,必须是turtle图形程序的最后一个语句

      mode(mode=None) - - - 设置turtle模式(‘standard’, ‘logo’, ‘world’) 并执行重置,如果没有给出模式,返回当前模式,standard向右(东),若是角度的话为逆时针,logo:向上(北)

      delay(delay=None) - - - 设置或返回以毫秒为单位的绘图延迟

      begin_poly() - - - 开始记录多边形的顶点,当前的乌龟位置是多边形的第一个顶点
      end_poly() - - - 停止记录多边形的顶点,当前的乌龟位置是多边形的最后一个顶点,与第一个顶点相连

      get_poly() - - - 返回最后记录的多边形

    练习

    t.circle(radius, extent=None, steps=None)
    extent弧度
    steps做圆的内切正多边形,边数为steps

    import turtle as t
    t.circle(50,180)       # 画了一个半径为50的半圆
    t.circle(100,steps=5)  # 只画多边形
    t.done()
    
    • 1
    • 2
    • 3
    • 4
    import turtle as t
    t.pencolor('red')   # 或 t.color('red')
    t.write('hello world', align="center", font=("Arial", 100, "normal"))
    t.done()
    
    • 1
    • 2
    • 3
    • 4

    jupyter notebook运行该代码会一直报错,使用IDLE运行

    在这里插入图片描述

    import turtle as t
    color = (0,0.01,0)
    
    t.color(color,color)  # 第二个color是turtle画笔(没有尾巴的箭头)里面的颜色
    t.fillcolor(color)
    t.begin_fill()
    for i in range(4):
        t.fd(50)
        t.right(90)
    t.end_fill()    
    
    t.done()
    t.mainloop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    import turtle
    
    # 定义颜色列表
    colors = ["#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#8B00FF"]
    
    # 初始化窗口
    window = turtle.Screen()
    window.bgcolor("#FFFFFF")
    window.title("Color Chart")
    
    # 绘制色卡
    turtle.penup()
    turtle.goto(-150, 150)
    turtle.pendown()
    for i in range(7):
        turtle.fillcolor(colors[i])
        turtle.begin_fill()
        for j in range(4):
            turtle.forward(50)
            turtle.right(90)
        turtle.end_fill()
        turtle.penup()
        turtle.forward(60)
        turtle.pendown()
    
    turtle.hideturtle()
    
    # 关闭窗口
    turtle.done()
    turtle.mainloop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    在这里插入图片描述

    import turtle as t
    
    t.speed(0)  			# 设置速度为最快
    t.color("black")  		# 设置画笔颜色
    t.fillcolor('yellow')	# 设置填充颜色
    t.begin_fill()  		# 开始填充
    for i in range(5):  	# 画五边形
        t.forward(100)  	# 向前移动100像素
        t.right(144)  		# 右转144度
    t.end_fill()  			# 结束填充
    
    t.done()  				# 完成画画
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述


    在jupyter notebook中绘图时可以在最后加上t.done()或t.mainloop()就可以在jupyter notebook里绘图的

    t.done()
    t.mainloop()
    
    • 1
    • 2
    turtle.done()
    turtle.mainloop()
    
    • 1
    • 2
  • 相关阅读:
    Elasticsearch —索引性能技巧
    解读提示工程(Prompt Engineering)
    watch 和 watchEffect
    Flink学习笔记(六)Flink的时间和窗口
    基于小程序实现的餐饮外卖系统
    前端项目使用指定字体样式
    【数据结构】七大排序
    为什么工业设计公司价格这么高?
    互联网金融基础知识--数字货币
    【MyBatis进阶】mybatis-config.xml分析以及try-catch新用法
  • 原文地址:https://blog.csdn.net/weixin_64729620/article/details/132782746