-1

I am trying to recursively draw a square with python's turtle function, and inside the square, recursively draw four more within it, and inside of those four, four more in those. My code gets through the top right square, but has an error when returning to the code. here it is:

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)
Jimmy
  • 3
  • 2

1 Answers1

0

There appears to be nothing wrong with your code. I was able to remove turtle.exitonclick() and run it without problem using https://repl.it/languages/python_turtle

I even cranked up the initial depth to 4 to get this lovely image

enter image description here


Remarks

This bit of code doesn't do anything, you can just remove it

xCenter = xCenter
yCenter = yCenter
edgeLength = edgeLength
depthLeft = depthLeft
Mulan
  • 129,518
  • 31
  • 228
  • 259