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
本文来自博客园,作者:Hany47315,转载请注明原文链接:https://www.cnblogs.com/hany-postq473111315/p/15023076.html