0.自己对写递归方法一直不灵活,可能是算法不太行,练习地也比较少,这一篇需要回头不断改进,先mark一下;
1.思路、程序和运行结果
- 思路
思路上就是递归的思路:首先绘制左侧树枝,其次绘制右侧树枝,然后让画笔回原点。
详细的下次在再分析:留个坑 - 程序
# 递归方法绘制分型树
import turtle
def draw_stick(branch_length, degree):
if branch_length > 5:
# 绘制左侧树
turtle.fd(branch_length)
turtle.left(degree)
draw_stick(branch_length-5, degree)
# 绘制右侧树
turtle.right(degree*2)
draw_stick(branch_length-5, degree)
# 返回初始位置
turtle.left(degree)
turtle.bk(branch_length)
def draw_tree():
turtle.setup(800, 600, 200, 0) # 设置窗口位置和大小
turtle.left(90) # 默认向右,因此先转为向上
draw_stick(45, 15)
if __name__ == '__main__':
print("绘画开始")
draw_tree()
print("绘画结束")
- 运行
2.需要改进的还有很多这篇要记得回看
(未完待续眼)