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

 

posted @ 2021-07-17 17:28  CodeYaSuo  阅读(2172)  评论(0编辑  收藏  举报