Python. Как сделать так чтобы y1 и y2 увеличивались в цикле? Пробовал cделать переменные global, не помогло

l = []

for i in range(10):
    l.append(  (x1, y1, x2, y2)  )  

while True:

    ev3.screen.draw_line(*l[0])

    wait(40)
    y1 += 1
    y2 += 1
    ev3.screen.clear()

Ответы (1 шт):

Автор решения: Сергей

Они и увеличиваются. Но они увеличиваются в цикле while True. Т.е. сначала у вас 10 раз отрабатывает l.append( (x1, y1, x2, y2) ) в цикле for i in range(10), затем он завершается. Потом начинается цикл while True, где они бесконечно увеличиваются. У вас два несвязаных цикла.

Рекомендую:

  1. Вообще убрать или while True или for i in range(10) (пример ниже);

  2. Внимательно по учебнику изучить назначение циклов и их синтаксис.

  3. global стараться никогда не использовать, или в крайних случаях. Тут их применение вообще не имело никакого смысла, у вас же один кусок кода.

l = []

while True:

    l.append(  (x1, y1, x2, y2)  )  

    ev3.screen.draw_line(*l[0])

    wait(40)
    y1 += 1
    y2 += 1
    ev3.screen.clear()
→ Ссылка