当前位置 博文首页 > 是Dream呀的博客:厉害了!海龟画图----递归的可视化

    是Dream呀的博客:厉害了!海龟画图----递归的可视化

    作者:[db:作者] 时间:2021-08-03 09:49

    递归的可视化

    在这里插入图片描述
    递归算法是非常强大的,接下来我们利用海龟作图来展现其视觉影像。

    这里我们就不详细讲解海龟画图了,感兴趣的同学可以看看我之前发过的文章:海龟画图全解–值得你一看! 在这里我详细的我为大家介绍了海龟画图。在这里插入图片描述

    在这里我们将会用到我们的老朋友海龟画图来展现其强大
    这是最简单的画一条直线:
    forward():前进
    backward():后退
    left():左转多少度
    right():右转多少度

    import turtle
    t=turtle.Turtle()
    #作图开始
    t.forward(100)#指挥海龟作图
    #作图结束
    turtle.done()
    

    画一个正方形:

    import turtle
    t=turtle.Turtle()
    for i in range(4):
        t.forward(100)
        t.right(90)
    turtle.done()
    

    画一个五角星:

    import turtle
    t=turtle.Turtle()
    t.pencolor()
    t.pensize(3)
    for i in range(5):
        t.forward(100)
        t.right(144)
    t.hideturtle()
    turtle.done()
    

    递归方法画边长逐渐减少的环形:

    import turtle
    t=turtle.Turtle()
    def drawSpiral(lineLen):
        if lineLen>0:
            t.forward(lineLen)
            t.left(90)
            drawSpiral(lineLen-5)
    drawSpiral(lineLen=100)
    turtle.done()
    

    在这里插入图片描述
    最后来画我们的二叉树:

    import turtle
    def tree(branch_len):
        if branch_len>5:
            t.forward(branch_len)
            t.right(20)
            tree(branch_len-15)
            t.left(40)
            tree(branch_len-15)
            t.right(20)
            t.backward(branch_len)
    t=turtle.Turtle()
    t.left(90)
    t.penup()
    t.backward(100)
    t.pendown()
    t.pencolor('green')
    t.pensize(2)
    tree(75)
    t.hideturtle()
    turtle.done()
    

    在这里插入图片描述

    在这里插入图片描述

    cs