我想创建这样的输出:

python - 使用递归绘制雪花-LMLPHP

我必须使用递归。

到目前为止,这是我的代码:

from turtle import *


    def drawFlake(length,depth):

        fd(length)
        input("first line done")
        if depth>0:


            left(60)
            drawFlake(length/3,depth-1)

            input("1")
            left(120)
            drawFlake(length/3,depth-1)
            input("2")

            left(120)
            drawFlake(length/3,depth-1)
            input("3")

            left(120)
            drawFlake(length/3,depth-1)
            input("4")

            left(120)
            left(180)
            #drawFlake(length/3,depth-1)
            input("1")

            left(120)
            drawFlake(length/3,depth-1)

            input("THIS IS THE LAST")
            left(60)



        left(180)
        fd(length)


drawFlake(100,3)


这会产生这样的输出(这里N = 3)

问题是左侧的长线。应该没有长线。相反,应该有另一个片状模式

我究竟做错了什么 ?

python - 使用递归绘制雪花-LMLPHP

编辑::

我设法弄出了更好的东西。但这仍然不是完美的:

def doFigure(length,depth):

        left(120)
        fd(length)
        if depth>1:
         doFigure(length/3,depth-1)

        bk(length)
        right(60)

        fd(length)
        if depth>1:
         doFigure(length/3,depth-1)
        bk(length)
        right(60)

        fd(length)
        if depth>1:
         doFigure(length/3,depth-1)
        bk(length)
        right(60)

        fd(length)
        if depth>1:
         doFigure(length/3,depth-1)
        bk(length)
        right(60)

        fd(length)
        if depth>1:
         doFigure(length/3,depth-1)
        bk(length)
        right(60)

        fd(length)
        if depth == 3:

            doFigure(length/3,depth-1)
        bk(length)
        right(180)


python - 使用递归绘制雪花-LMLPHP

注意最后5行。我必须对值3进行硬编码以获取正确的值。

最佳答案

这是一个解决方案:它并不完美,因为与您发布的图形相比,它在主茎上有一个额外的束。

让我知道这是否适合您。

从海龟进口*

def drawFlake(length, depth):
    "draws a flake"
    if depth > 0:
        for _ in range(6):
            forward(length)
            drawFlake(length // 3, depth - 1)
            backward(length)
            left(60)

drawFlake(200,4)


python - 使用递归绘制雪花-LMLPHP

09-25 21:08