turtle海龟库

•turtle的使用

#设置窗体大小 startx,starty非必需,默认在屏幕中间
turtle.setup(width,height,startx,starty)
#海龟到(x,y)坐标
turtle.goto(x , y)
#海龟向前移动d
#当d值为正数时向前移动
#当d为负数时向后移动
turtle.fd(d)
#画笔向后移动d
turtle.bk(d)
#r弧形半径
#当radius值为正数时,圆心在当前位置/小海龟左侧
#当radius值为负数时,圆心在当前位置/小海龟右侧
#angle弧形角度 当无该参数或参数为None时,绘制整个圆形
#当extent值为正数时,顺小海龟当前方向绘制。
#当extent值为负数时,逆小海龟当前方向绘制。
turtle.circle(r,angle)
#改变海龟行进方向,只改变方向并不前进
#在执行完tur.fd()后,小乌龟恢复到正X方向
#angle为绝对度数
turtle.seth(angle)
#海龟左转/右转angle度
#angle为海龟度数
turtle.left(angle)

•turtle蟒蛇绘制

tur.setup(650,350)
抬笔
tur.penup()
tur.fd(-250)
落笔
tur.pendown()
tur.pensize(25)
tur.pencolor("pink")
tur.seth(-40)
for i in range(4):
    tur.circle(40,80)
    tur.circle(-40,80)
tur.circle(40,80/2)
tur.fd(40)
tur.circle(16,180)
tur.fd(40*2/3)
tur.done()
View Code

 

 

•椭圆

import turtle as tur
tur.setup(500,500)
tur.seth(90)
len = 1

for i in range(2):
    for j in range(60):
        if j <30:
            len += 0.2
        elif:
            len -=0.2
        tur.fd(len)
        tur.left(3)

tur.done()

 

 

 

•递归画树

import turtle as tur
tur.setup(800,800)
tur.width(5)
tur.color("green")

tur.goto(0,-200)#起点
tur.seth(90)
def branch(plist, len):            # 自定义函数,画树枝
    if (len > 15):                 # 递归的退出条件
        list = []                  # 新画笔列表
        for p in plist:            # 遍历旧画笔列表
            p.forward(len)
            q = p.clone()
            p.left(65)
            q.right(65)
            list.append(p)         # 存入新画笔列表
            list.append(q)         # 存入新画笔列表
        branch(list, len * 0.65)   # 递归,list为新画笔列表,树枝长65%

branch([tur], 200)
tur.done()

 

 

posted @ 2021-01-30 16:13  MMMMinoz  阅读(184)  评论(0编辑  收藏  举报