Нужно сделать выборочное нажатие клавиш

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

Всем привет. Мне нужно сделать так, чтобы при нажатии клавиши Y происходило одно, а при нажатии на N - другое. Код:

print('Чтобы сыграть ещё раз нажмите Y. Для отказа нажмите N')

while True:
    keyboard.wait('y')
    repeat_play()

Ответы

▲ 0

Вы можете воспользоваться функцией keyboard.read_key. И проверить является ли нажатая кнопка нужной. Пример как это может быть реализовано:

import keyboard

def repeat_play():
   ...

print('Чтобы сыграть ещё раз нажмите Y. Для отказа нажмите N')

while True:
    key = keyboard.read_key() # считываем все нажатия кнопок из консоли
    if key.lower() == 'y':    # если это нужная нам кнопка делаем что надо
        repeat_play()
    elif key.lower() == 'n':  # делаем ещё что то. Например выходим из цикла
        break
    else:             # если кнопка нам не подошла ждём следующего нажатия в цикле
        print("Вы нажали не y или n, попробуйте ещё раз")

lower() используется чтобы shift + N/Y тоже подходили, но если это не нужно можно не использовать.