《Python数据结构与算法分析》第二版
- turtle模块介绍
顾名思义,可以用turtle模块创建一只小乌龟(turtle)并让它向前或向后移动,或者左转或右转。把小乌龟当作一支画笔,画笔可以抬起或放下,当放下时,画笔会沿着移动轨迹画出线条。还可改变画笔粗细或颜色。
爬行: forward(n) backward(n)
转向:right(a) left(a)
抬笔放笔:penup() pendown()
笔属性:pensize(s) pencolor(c) - 绘制分形树:即一根小嫩枝也有和一整棵树一样的形状和特征,具有自相似的特性。
import turtle
def tree(branchLen, t):# (树干长度,turtle对象)
if branchLen > 5:# 递归结束条件是树干长度小于5
t.forward(branchLen)# 绘制树干
t.right(20)# 右倾斜20度
tree(branchLen-15, t)# 递归调用,绘制右边的小树,树干长度-15
t.left(40)# 向左回40度,即左倾斜20度
tree(branchLen-10, t)# 递归调用,绘制左边的小树,树干长度-10
t.right(20)# 向右回20度,即回正
t.backward(branchLen)# 沿树干退回原位置
t = turtle.Turtle()
myWin = t.getscreen()#用来作图的窗口
t.speed(20)# 小乌龟前行速度
t.left