运用Python内置Turble模块进行绘制二叉树
1、运用递归算法,要想更好的理解该程序,可以运用Pycharm逐步运行程序,或自己徒手根据程序画一下试试,有很大帮助。
import turtle
def tree(branch_len):
if branch_len > 5: #树干长度小于5停止绘制(递归结束条件)
t.forward(branch_len) #绘制树干
t.right(20) #画笔向右倾斜20°
tree(branch_len-15) #递归调用,绘制右侧的小树,每次绘制树干长度减15
t.left(40) #画笔向左倾斜40°
tree(branch_len-15) #递归调用,绘制左侧的小树,每次绘制树干长度减15
t.right(20) #画笔向右倾斜20°
t.backward(branch_len) #画笔回到最初位置
2、二叉树的函数已编写完成,接下来绘制二叉树:
t = turtle.Turtle()
t.left(90)
t.penup()
t.backward(200)
t.pendown()
t.pencolor("green")
t.pensize(2)
#绘制一棵原始树干长度为95的二叉树
tree(95)
t.hideturtle()
turtle.done()
3、完成绘制,效果如下图: