递归方块

Recursive Squares

我正在尝试使用 python 的 turtle 函数递归绘制一个正方形,并在正方形内部递归地在其中再绘制四个,然后在这四个内部再绘制四个。 我的代码通过了右上角的方块,但是返回代码的时候出错了。这里是:

import turtle
turtle.speed(0)
def drawSquare(xCenter, yCenter, edgeLength, depthLeft):
    xCenter = xCenter
    yCenter = yCenter
    edgeLength = edgeLength
    depthLeft = depthLeft
    if depthLeft == 0:
        return 
    else:
        turtle.penup()
        turtle.goto((xCenter-.5*edgeLength),(yCenter-.5*edgeLength))
        turtle.pendown()

        for i in range(4):
            turtle.forward(edgeLength)
            turtle.left(90)

        depthLeft = depthLeft - 1
        edgeLength = edgeLength/4
        drawSquare(xCenter+edgeLength,yCenter+edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter-edgeLength,yCenter+edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter+edgeLength,yCenter-edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter-edgeLength,yCenter-edgeLength,edgeLength, depthLeft) 

    turtle.exitonclick()

drawSquare(0,0,500,2)

您的代码似乎没有任何问题。我可以使用 https://repl.it/languages/python_turtle

毫无问题地删除 turtle.exitonclick() 和 运行

我什至将初始深度提高到 4 以获得这张可爱的图像


备注

这段代码没有任何作用,你可以删除它

xCenter = xCenter
yCenter = yCenter
edgeLength = edgeLength
depthLeft = depthLeft