1、Turtle Methods
Turtle motion |
method |
function |
Move and draw |
forward(distance) | fd(distance) |
向前移动指定的距离,方向为当前海龟的朝向 |
backward(distance) | bk(distance) | back(distance) |
向后移动指定的距离,与海龟当前的朝向相反,并且不改变海龟的朝向 |
right(angle) | rt(angle) |
向右转动指定的角度 |
left(angle) | lt(angle) |
向左转动指定的角度 |
goto(x, y=None) | setpos(x, y=None) | setposition(x, y=None) |
移动海龟到指定的坐标处,并且不改变朝向 |
setx(x) ) |
将海龟的x坐标修改为指定值,y坐标不变 |
sety(y) |
将海龟的y坐标修改为指定值,x坐标不变 |
setheading(to_angle) | seth(to_angle) |
将海龟的朝向修改为指定值 |
home() |
移动到原点坐标,并将其朝向修改为初始状态 |
circle(radius, extent=None, steps=None) |
绘制给定半径的园 |
dot(size=None, *color) |
使用指定颜色绘制给定大小的圆点 |
undo() |
撤销上一个动作 |
speed(speed=None) |
设置海龟的移动速度[0,10] |
Tell Turtle’s state() |
position() | pos() |
返回海龟的当前位置坐标 |
xcor() |
返回海龟的当前x坐标 |
ycor() |
返回海龟的当前y坐标 |
heading() |
返回海龟的当前朝向 |
distance(x, y=None) |
返回海龟到给定坐标、向量或其他海龟的距离 |
Setting and measurement |
degrees(fullcircle=360.0) |
设置角度测量单位,即一圈的度数 |
radians() |
将角度测量单位设置为弧度 |
Pen control |
method |
function |
Drawing state |
pendown() | pd() | down() |
拉下笔,移动时画图 |
penup() | pu() | up() |
提起笔,移动时不画图 |
pensize(width=None) | width(width=None) |
设置画笔的大小 |
isdown() |
返回笔的状态是否为放下 |
Color control |
color() |
返回当前的画笔颜色和填充颜色 |
pencolor(colorstring) |
设置画笔颜色 |
fillcolor(colorstring) |
设置填充颜色 |
Filling |
filling() |
返回是否完成填充 |
begin_fill() |
在绘制一个被填充形状之前调用 |
end_fill() |
绘制一个被填充形状之后调用 |
More drawing control |
reset() |
从屏幕上删除海龟的画图,重新居中海龟,并将变量设置为默认值 |
clear() |
从屏幕上删除海龟的画图, 不移动海龟, 海龟的状态和位置以及其他海龟的画图不受影响。 |
2、Draw Tree
from turtle import Turtle
def tree(plist, l, a, f):
if l > 5:
lst = []
for p in plist:
p.forward(l)
q = p.clone()
p.left(a)
q.right(a)
lst.append(p)
lst.append(q)
tree(lst, l*f, a, f)
def maketree(x, y):
p = Turtle()
p.color("green")
p.pensize(5)
p.speed(10)
p.hideturtle()
p.getscreen().tracer(30, 0)
p.left(90)
p.penup()
p.goto(x, y)
p.pendown()
tree([p], 110, 65, 0.6375)
def main():
maketree(-180, -180)
maketree(0, 0)
maketree(180, -180)
main()