Example of using Turtle

1、Turtle Methods

Turtle motionmethodfunction
Move and drawforward(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 measurementdegrees(fullcircle=360.0)设置角度测量单位,即一圈的度数
radians()将角度测量单位设置为弧度

Pen controlmethodfunction
Drawing statependown() | pd() | down()拉下笔,移动时画图
penup() | pu() | up()提起笔,移动时不画图
pensize(width=None) | width(width=None)设置画笔的大小
isdown()返回笔的状态是否为放下
Color controlcolor()返回当前的画笔颜色和填充颜色
pencolor(colorstring)设置画笔颜色
fillcolor(colorstring)设置填充颜色
Fillingfilling()返回是否完成填充
begin_fill()在绘制一个被填充形状之前调用
end_fill()绘制一个被填充形状之后调用
More drawing controlreset()从屏幕上删除海龟的画图,重新居中海龟,并将变量设置为默认值
clear()从屏幕上删除海龟的画图, 不移动海龟, 海龟的状态和位置以及其他海龟的画图不受影响。

2、Draw Tree

# 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()


这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值