I'm wondering why this code does not work.
loop = -10
loop2 = -10
while loop <= 10:
while loop2 <= 10:
if current_block:
block = turtle.Turtle()
block.shape("square")
block.color("white")
block.shapesize(stretch_wid=0.85, stretch_len=0.85)
block.penup()
block.goto(loop*20, loop2*20)
loop2 += 1
loop += 1
What I want to do is to create a 20x20 grid of squares centered at (0,0). Right now, only a line of squares are created at x-200
Mureinik
316k54 gold badges405 silver badges407 bronze badges
1 Answer 1
The loop2 variable retains its value, so the inner loop is not executed after the first iteration of the outer loop. You need to reinitialize loop2 in every iteration of the outer loop:
loop = -10
while loop <= 10:
loop2 = -10 # Here!
while loop2 <= 10:
if current_block:
block = turtle.Turtle()
block.shape("square")
block.color("white")
block.shapesize(stretch_wid=0.85, stretch_len=0.85)
block.penup()
block.goto(loop*20, loop2*20)
loop2 += 1
loop += 1
answered Apr 11, 2020 at 18:26
Mureinik
316k54 gold badges405 silver badges407 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
Rufus
Wow, that's some amazing response time! Thanks, that's exactly what I needed. :)
Explore related questions
See similar questions with these tags.
lang-py
for loop in range(-10,11):. Then you don't need theloop += 1statements.