metalexs
@metalexs

Как обновить переменную в цикле?

Каким образом можно поместить в переменную test значения из переменной out?

import time

out = ['1', '2', '3']

def asd(test):

    while True:

        if test != []:
            print("1", test)
            del test[0]

        else:
            test = out
            print("2", test)
        time.sleep(3)

asd(out)

Получается вывод:
1 ['1', '2', '3']
1 ['2', '3']
1 ['3']
2 []
2 []
А хочу сделать примерно такой вывод:
1 ['1', '2', '3']
1 ['2', '3']
1 ['3']
2 []
1 ['1', '2', '3']
1 ['2', '3']
1 ['3']
и т.д
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
У тебя и test и out ссылаются на один и тот же объект-список, поэтому когда ты его модифицируешь, у тебя не остаётся копии, чтобы начать всё с начала.
Убери параметр из подпрограммы, и делай test = out.copy() в начале и при "перезапуске".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы