Как завершить выполнение цикла while внутри функции, по изменению принимаемого ей значения?

Рейтинг: 0Ответов: 1Опубликовано: 24.01.2023

Есть функция принимающая значения ON или OFF :

def com(on_off):
    while on_off== "ON":
    #acion ON
            

Передаваемые в функцию значения ON и OFF могут изменятся в процессе работы программы .

Значение переменной =ON запускает цикл, значение =OFF должно приводить к его завершению . Дело в том, что после получения значения OFF и сравнения его в цикле while цикл не прерывается и продолжает выполнение действий для ON состояния.

Как я могу отследить изменение передаваемой в функцию переменной на OFF, внутри тела цикла while (или тела функции ?), что бы завершить его работу?

Ответы

▲ 0Принят

Проблема в том что тебе надо запускать цикл в отдельном потоке чтоб он работал параллельно с основным кодом. И я думаю что вместо "ON" / "OFF" лучше True / False Или выполняй код внутри цикла while чтоб при следующей итерации он не выполнял код. Если решишь использовать мультипоточность то это поможет https://docs.python.org/3/library/threading.html