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蟒蛇绘制
View Codetur.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()
•椭圆
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()