Как остановить этот цикл

#python

Вопрос:

мой код таков

 import keyboard

Test = False
number = 0

while True:
    while keyboard.is_pressed('p'):
        Test = True
    while keyboard.is_pressed('o'):
        Test = False
    while Test == True:
        number = number   1
        print("example message "   str(number))
 

и почему я не могу остановить этот цикл, нажав «O»?

Комментарии:

1. Потому что ваш цикл использует True , а не Test — И внутренний цикл while не нужен

2. break когда ты захочешь.

3. На самом деле, все ваши внутренние «пока» должны быть утверждениями «если».

Ответ №1:

Используйте break , чтобы остановить цикл while

 import keyboard

Test = False
number = 0

while True:
    if keyboard.is_pressed('p'):
        Test = True
    if keyboard.is_pressed('o'):
        Test = False
        break
    if Test:
        number = number   1
        print("example message "   str(number))

 

Ответ №2:

вы должны написать это так

 import keyboard

Test = False
number = 0

while True:
    if keyboard.is_pressed('p'):
        Test = True
        break
    if keyboard.is_pressed('o'):
        Test = False
        break

if Test == True:
    number = number   1
    print("example message "   str(number))
 

Комментарии:

1. Ваш код будет выполнен только один раз, так что этот ответ не сработает. Также, согласно вашему ответу, вам не нужен while цикл, так как он будет выполняться только 1 раз.

2. да, я понимаю это всего через несколько минут после публикации, так что это ошибка

Ответ №3:

Вы можете использовать break внутри цикла while, чтобы остановить выполнение цикла кода.

 import keyboard

Test = False
number = 0

while True:
    while keyboard.is_pressed('p'):
        Test = True
    while keyboard.is_pressed('o'):
        Test = False
        break
    if Test == True:
        number = number   1
        print("example message "   str(number))
 

Ответ №4:

 import keyboard

Test = False
number = 0

while True:

    while keyboard.is_pressed('p'):
        Test = True
    while keyboard.is_pressed('o'):
        Test = False
    if Test:
        number = number   1
        print("example message "   str(number))