Python: while l oop в цикле while - PullRequest
       25

Python: while l oop в цикле while

1 голос
/ 11 апреля 2020

Мне интересно, почему этот код не работает.

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

Что я хочу сделать, это создать сетку квадратов 20x20 с центром в (0,0). Прямо сейчас, только линия квадратов создана в x-200

1 Ответ

1 голос
/ 11 апреля 2020

Переменная loop2 сохраняет свое значение, поэтому внутренний l oop не выполняется после первой итерации внешнего l oop. Вам нужно повторно инициализировать loop2 в каждой итерации внешнего l oop:

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
...