zoukankan      html  css  js  c++  java
  • Turtle库常用函数

    导入 turtle 语句
    
    import turtle

    设置画布
    
    turtle.screensize(canvwidth=None,canvheight=None,bg=None)
    默认大小为 400 x 300
    turtle.screensize()
    设置画布为宽 500,高 300 的 灰色为画布
    turtle.screensize(canvwidth=500,canvheight=300,bg='gray')

    turtle.setup(width=0.5,height=0.75,startx=None,starty=None)
    
    width  宽
    height 高
    当width 和 height 是整数时,表示具体的像素
    当width 和 height 是小数时,表示占据电脑屏幕的比例
    
    startx 距离屏幕左面边框的距离
    starty 距离屏幕上方边框的距离
    当两个参数,值均为空 None 时,则窗口位于屏幕中心。
    turtle.setup(width=0.5,height=0.75,startx=None,starty=None)

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

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

    turtle 画笔的基本属性
    
    设置画笔的宽度
    turtle.pensize( )
    
    可以传递整数参数
    turtle.pensize(5)
    设置画笔的颜色 (蓝色)
    
    turtle.pencolor('blue')
    
    也可以通过RGB三元组进行设置
    
    turtle.pencolor('#f6521f')
    设置画笔的速度
    
    turtle.speed(speed = 0 - 10 之间的整数)
    
    turtle.speed(speed = 2)
    画笔运动命令

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

    turtle.forward(distance
    = 数字) 数字可以是正数或者是负数,可以是小数类型 turtle.forward(distance = 200)
    当前代码

    运行结果

    向当前画笔相反方向移动 distance 像素长度
    
    turtle.backward(distance = 数字)
    
    turtle.backward(distance = 300)

    顺时针转动
    
    turtle.right(角度)
    
    turtle.right(45)
    逆时针转动
    
    turtle.left(角度)
    
    turtle.left(90)
    落笔
    
    turtle.pendown( )
    抬笔,此时不进行绘制
    
    turtle.penup( )
    移动到坐标 x , y 的位置
    
    turtle.goto(x,y)
    
    turtle.goto(x = 50,y = 80)
    画圆
    
    turtle.circle(半径)
    
    当半径为正数时,表示逆时针画圆圈
    
    turtle.circle(50)
    
    当半径为负数时,表示顺时针画圆圈
    
    turtle.circle(-50)

    import turtle
    
    turtle.setup(width=800,height=600,startx=None,starty=None)
    
    turtle.pensize(5)
    
    turtle.pencolor('blue')
    # turtle.pencolor('#f6521f')
    turtle.speed(speed = 8)
    turtle.pendown()
    
    turtle.forward(distance = 100)
    turtle.backward(distance = 150)
    
    turtle.right(45)
    turtle.forward(distance = 100)
    turtle.left(90)
    turtle.forward(distance = 100)
    turtle.penup()
    
    turtle.goto(x = 50,y = 40)
    turtle.pendown()
    
    turtle.circle(50)
    
    turtle.penup()
    turtle.goto(x = 50,y = -180)
    turtle.pendown()
    
    turtle.circle(50)
    
    turtle.mainloop()


    移动到对应的 x 轴的位置
    
    turtle.setx(x轴位置)
    
    turtle.setx(250)
    移动到对应的 y 轴位置
    
    turtle.sety(y轴位置)
    
    turtle.sety(250)
    设置当前朝向的角度
    
    turtle.setheading(角度)
    
    turtle.setheading(45)
    设置当前画笔位置为原点,并将画笔方向向右。
    
    turtle.home( )
    绘制一个指定直径的圆点
    
    turtle.dot(20)
    import turtle
    
    turtle.setup(width=800,height=600,startx=None,starty=None)
    
    turtle.pensize(5)
    turtle.pencolor('blue')
    # turtle.pencolor('#f6521f')
    turtle.speed(speed = 8)
    turtle.pendown()
    
    turtle.forward(distance = 50)
    turtle.setx(100)
    turtle.sety(150)
    turtle.setheading(45)
    # turtle.home()
    turtle.dot(20)
    turtle.forward(distance = 50)
    turtle.mainloop()

    返回当前是否处于填充状态
    
    turtle.filling( )
    开始填充图形
    
    turtle.begin_fill( )
    图形的填充颜色
    
    turtle.fillcolor('颜色')
    
    turtle.fillcolor('blue')
    同时设置 画笔颜色 与 填充颜色
    
    turtle.color('blue','black')
    import turtle
    turtle.setup(width=800,height=600,startx=None,starty=None)
    # turtle.color('black','red')
    
    turtle.begin_fill()
    # turtle.fillcolor('blue')
    turtle.color('blue','black')
    print(turtle.filling())
    
    turtle.pensize(5)
    turtle.pencolor('blue')
    # turtle.pencolor('#f6521f')
    turtle.speed(speed = 8)
    turtle.pendown()
    
    turtle.forward(distance = 50)
    turtle.setx(100)
    turtle.sety(150)
    turtle.setheading(240)
    # turtle.home()
    # turtle.dot(20)
    turtle.forward(distance = 180)
    # turtle.mainloop()
    
    turtle.end_fill()
    turtle.mainloop()

    隐藏画笔
    
    turtle.hideturtle( )
    显示画笔
    
    turtle.showturtle( )

    全局控制命令
    
    清空 turtle 窗口
    
    turtle.clear( )
    清空 turtle 窗口,画笔回到起始位置
    
    turtle.reset( )
    撤销上一个 turtle 动作
    
    turtle.undo( )
    返回当前画笔是否显示
    
    turtle.isvisible()
    重复执行一次上一个 turtle 操作
    
    turtle.stamp( )
    文本字体
    
    turtle.write('文本内容',font = ("宋体",25))

    启动事件循环
    
    turtle.mainloop( )
    
    注:放在最后一句

    五角星 代码
    import turtle
    
    turtle.pensize(5)
    turtle.color("black","blue")
    
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(200)
        turtle.right(144)
    turtle.end_fill()
    
    turtle.penup()
    turtle.goto(-180, -150)
    turtle.color("black")
    turtle.write("Hany驿站-Turtle五角星", font=('Consolas', 20))
    
    turtle.mainloop()

     

    五环 代码
    import turtle
    
    def go(x,y):
        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()
    
    def pen():
        turtle.screensize(800, 600)
        turtle.pensize(10)
        turtle.speed(10)
    
    def name():
        turtle.penup()
        turtle.home()
        turtle.goto(-95,-180)
        turtle.pendown()
        turtle.write('Hany驿站-五环',font = ('Consolas',15))
    
    def main():
        turtle.setup(width=0.75, height=0.75, startx=None, starty=None)
        pen()
        pencolors = ['blue','yellow','black','green','red']
        x = -300
        y = 0
        for i in range(5) :
            if i == 3 :
                x = -180
                y = -120
            if i < 3 :
                go(x + i * 250,y)
                turtle.pencolor(pencolors[i])
                turtle.circle(110)
            else :
                go(x + ( i - 3 ) * 250, y)
                turtle.pencolor(pencolors[i])
                turtle.circle(110)
        name()
        turtle.hideturtle()
        turtle.mainloop()
    
    if __name__ ==  '__main__':
        main()


    2021-07-17

    如果觉得文章不错,可以分享给其他人哟~
  • 相关阅读:
    Devexpress根据条件单元格变色以及根据条件设置单元格可编辑-记录
    批量更新事物加回滚
    批量更新
    Devexpress GridControl无限高度惹得祸
    C# 多语言国际化问题中的 CultureInfo
    配置linux服务器的防火墙,以CENTOS 为例(转载)
    关于Java的程序运行提醒
    用Eclipse跑Hadoop程序的注意事项
    Hadoop平台-错误收集附解决方案!
    unity3d之物体克隆
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/15023076.html
Copyright © 2011-2022 走看看