Почему я не могу на некоторое время остановить l oop, вызвав функцию, в которой он находится, с параметром, который делает утверждение ложным? - PullRequest
0 голосов
/ 01 февраля 2020

Как видно из заголовка, почему я не могу остановить некоторое время l oop, вызвав функцию, в которой он находится, с параметром, который делает оператор while ложным, например так ::

def toggleLogger(isToggled):
    while isToggled: 
        if(keyboard.read_key() == "esc"):
            toggleLogger(False)

toggleLogger(True)

Я сделал некоторые изменения в коде и заменил toggleLogger(False) на break, что в основном решило мою маленькую проблему, но меня действительно беспокоит то, что она не работает. Тем более, что я не получаю никаких ошибок. Что я не понимаю, так это то, что toggleLogger(True), который запускает скрипт , работает , но не другой.

1 Ответ

0 голосов
/ 01 февраля 2020

Похоже, вы устанавливаете [toggleLogger = false], но не bool в false. [isToggled = false]. Ваш код проверяет, isToggled == false, а не toggleLogger.

, если вы печатаете toggleLogger и isToggled до и после того, как увидите разницу.

Попробуйте что-то вроде: isToggled = !isToggled или isToggled = False

...