Turtle 是Python语言中一个很流行的绘制图像的函数库,它能够在屏幕上绘制图形。它是一个简单的乌龟(Turtle)绘图,它可以用来绘制图形,也可以模拟Turtle的运动。
import turtle #绘图
海龟动作
移动和绘制
forward() | fd() 前进
backward() | bk() | back() 后退
right() | rt() 右转/度
left() | lt() 左转
goto() | setpos() | setposition() 前往/定位
setx() 设置x坐标
sety() 设置y坐标
setheading() | seth() 设置朝向
home() 返回原点
circle() 画圆
dot() 画点
stamp() 印章
clearstamp() 清除印章
clearstamps() 清除多个印章
undo() 撤消
speed() 速度
获取海龟的状态
position() | pos() 位置
towards() 目标方向
xcor() x坐标
ycor() y坐标
heading() 朝向
distance() 距离
设置与度量单位
degrees() 角度
radians() 弧度
画笔控制
绘图状态
pendown() | pd() | down() 画笔落下
penup() | pu() | up() 画笔抬起
pensize() | width() 画笔粗细
pen() 画笔
isdown() 画笔是否落下
颜色控制
color() 颜色
pencolor() 画笔颜色
fillcolor() 填充颜色
填充
filling() 是否填充
begin_fill() 开始填充
end_fill() 结束填充
更多绘图控制
reset() 重置
clear() 清空
write() 书写
海龟状态
可见性
showturtle() | st() 显示海龟
hideturtle() | ht() 隐藏海龟
isvisible() 是否可见
外观
shape() 形状
resizemode() 大小调整模式
shapesize() | turtlesize() 形状大小
shearfactor() 剪切因子
settiltangle() 设置倾角
tiltangle() 倾角
tilt() 倾斜
shapetransform() 变形
get_shapepoly() 获取形状多边形
使用事件
onclick() 当鼠标点击
onrelease() 当鼠标释放
ondrag() 当鼠标拖动
特殊海龟方法
begin_poly() 开始记录多边形
end_poly() 结束记录多边形
get_poly() 获取多边形
clone() 克隆
getturtle() | getpen() 获取海龟画笔
getscreen() 获取屏幕
setundobuffer() 设置撤消缓冲区
undobufferentries() 撤消缓冲区条目数
TurtleScreen/Screen 方法
窗口控制
bgcolor() 背景颜色
bgpic() 背景图片
clearscreen()
resetscreen()
screensize() 屏幕大小
setworldcoordinates() 设置世界坐标系
动画控制
delay() 延迟
tracer() 追踪
update() 更新
使用屏幕事件
listen() 监听
onkey() | onkeyrelease() 当键盘按下并释放
onkeypress() 当键盘按下
onclick() | onscreenclick() 当点击屏幕
ontimer() 当达到定时
mainloop() | done() 主循环
设置与特殊方法
mode()
colormode() 颜色模式
getcanvas() 获取画布
getshapes() 获取形状
register_shape() | addshape() 添加形状
turtles() 所有海龟
window_height() 窗口高度
window_width() 窗口宽度
输入方法
textinput() 文本输入
numinput() 数字输入
Screen 专有方法
bye() 退出
exitonclick() 当点击时退出
setup() 设置
title() 标题
seth与left的区别
在Turtle库中,seth
和left
都可以用来控制海龟的方向。
seth
是设置海龟朝向的绝对方向,即相对于东方向的角度,范围是0到360度,例如:
turtle.seth(0) # 东方向
turtle.seth(90) # 北方向
turtle.seth(180) # 西方向
turtle.seth(270) # 南方向
默认情况下,海龟初始方向是向右的,也就是0度。seth方法接收的角度值是从海龟初始方向开始,逆时针旋转的角度。例如,seth(90)将使海龟向上旋转90度,seth(180)将使海龟向左旋转180度。
left
是将海龟向左转动一定的角度,即相对于当前方向的角度。例如:
turtle.left(90) # 左转90度,相当于朝向北方向
turtle.left(180) # 左转180度,相当于掉头朝向南方向
turtle.left(45) # 左转45度,相当于朝向当前方向左侧45度
绘制三角形(注意终点会有箭头)
import turtle turtle.seth(0) turtle.fd(100) turtle.seth(120) turtle.fd(100) turtle.seth(240) turtle.fd(100) #这一句仅用于阻止窗口关闭turtle.done()
import turtle
for i in range(1,7):
turtle.fd(50)
turtle.left(60)
for i in range(6): # 循环6次,画出6条边
turtle.seth(i * 60) # 设置当前方向
turtle.fd(100) # 向当前方向前进100个像素
turtle.done()