Как бы я запустил автоматическое нажатие клавиши ввода после функции ввода?

#python-3.x

#python-3.x

Вопрос:

         choice = input(">>")
        if choice.lower() == " ":
            death = death0.IncreaseDeath()
        elif choice.lower() == "-":
            death = death0.DecreaseDeath()
        elif choice.lower() == "r":
            death = death0.ResetDeath()
        elif choice.lower() == "q":
            sys.exit()
  

У меня есть этот код, но он должен быть счетчиком смерти, где пользователь должен просто нажать или — или r или q, и он увеличивается автоматически, без необходимости пользователю нажимать enter. Я попробовал keyboard.press_and_release(‘enter’) и keyboard.add_hotkey(‘ ‘, смерть = death0.Увеличенная смерть ()) но 2-я не работает, а вторая работает ПОСЛЕ завершения ввода, и пользователь нажимает Enter, и теперь на входе появляется спам (чего я не хочу, я хочу, чтобы пользователь набрал одну букву, а затем автоматически нажал Enter. Как бы мне это сделать, чтобы это произошло, чтобы пользователю не нужно было нажимать «Ввод» после ввода

 if msvcrt.kbhit():
            key_stroke = msvcrt.getch()
            if key_stroke == b' ':
                death = death0.IncreaseDeath()
            elif key_stroke == b'-':
                death = death0.DecreaseDeath()
            elif key_stroke == b'r':
                death = death0.ResetDeath()
            elif key_stroke == b'q':
                sys.exit()
  

Также пробовал это, НО мой код перед которым:

 def DeathCount(death,DEATH_NAME):
    while True:
        os.system('cls' if os.name == 'nt' else 'clear')
        print ("####################")
        print (f"  {DEATH_NAME}: {death} ")
        print ("####################")
        print ("    *   : increase *      ")
        print ("    * - : decrease *      ")
        print ("    * r : reset    *      ")
        print ("    * q : quit     *      ")
        print ("####################")
  

не отображается и не дает пользователю подсказки, что нажимать и действительно ли оно увеличивается или нет.

Ответ №1:

надеюсь, этот код поможет

 import sys
from getkey import getkey
death0 = 15
death = death0
print(death)
while True:
    print(">>")
    choice = getkey()
    if choice.lower() == " ":
        death  = 1
    elif choice.lower() == "-":
        death -= 1
    elif choice.lower() == "r":
        death = death0
    elif choice.lower() == "q":
        sys.exit()
    else:
        print("invalid input")
    print(death)
  

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

1. Помимо трудностей с установкой getkey (ошибка кодирования), я нашел чью-то вилку github, которая установила ее нормально, и как только я заработал, это очень помогло, спасибо за помощь!