【Python打卡2019】20190414之递归画树形图像

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.需要改进的还有很多这篇要记得回看

(未完待续眼)

猜你喜欢

转载自blog.csdn.net/qq_32760017/article/details/89303400