import turtle
def tree(branch_len):
if branch_len > 5:
print("上去就是前进...", end=" ")
print(branch_len)
t.forward(branch_len) # 前进距离为树枝长度
t.right(30) # 右转30度
print("右转30°之后aaa, 前进...", end=" ")
print(branch_len)
tree(branch_len - 15) # 递归, 树枝长度减15
t.left(60) # 左转40度
print("左转30°之后, 前进...", end=" ")
print(branch_len - 15)
tree(branch_len - 15) # 递归
t.right(30) # 右转30度
print("右转30°之后bbb, 回退...", end=" ")
print(branch_len)
t.backward(branch_len) # 回退距离为当前树枝长度
t = turtle.Turtle()
t.left(90) # 向左转向90度
t.penup() # 起笔
t.backward(100) # 回退100像素
t.pendown() # 落笔
t.pencolor('green') # 绿色
t.pensize(2) # 粗细2像素
tree(60) # 调用函数, 起始长度为60
t.hideturtle() # 隐藏画笔
turtle.done() # 结束
上去就是前进... 60
右转30°之后aaa, 前进... 60
上去就是前进... 45
右转30°之后aaa, 前进... 45
上去就是前进... 30
右转30°之后aaa, 前进... 30
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
左转30°之后, 前进... 15
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
右转30°之后bbb, 回退... 30
左转30°之后, 前进... 30
上去就是前进... 30
右转30°之后aaa, 前进... 30
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
左转30°之后, 前进... 15
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
右转30°之后bbb, 回退... 30
右转30°之后bbb, 回退... 45
左转30°之后, 前进... 45
上去就是前进... 45
右转30°之后aaa, 前进... 45
上去就是前进... 30
右转30°之后aaa, 前进... 30
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
左转30°之后, 前进... 15
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
右转30°之后bbb, 回退... 30
左转30°之后, 前进... 30
上去就是前进... 30
右转30°之后aaa, 前进... 30
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
左转30°之后, 前进... 15
上去就是前进... 15
右转30°之后aaa, 前进... 15
左转30°之后, 前进... 0
右转30°之后bbb, 回退... 15
右转30°之后bbb, 回退... 30
右转30°之后bbb, 回退... 45
右转30°之后bbb, 回退... 60