Python приостанавливает пока истинный цикл до выполнения условия

Я делаю игру на питоне. До сих пор игра состоит из одного класса (животного) и нескольких переменных и методов. Вы можете нажать один из трех ключей для атаки. Это в то while True loop. когда вы нажимаете клавишу 1 , она делает одну атаку и то же самое для клавиш 2 и 3 . Однако при запуске он продолжает выполнение этого утверждения снова и снова:

 print(""" Use key 1 to do {} damage, key 2 for {} damage, and key 3 for {} damage """.format( Animal.attack0_damage, Animal.attack1_damage, Animal.attack2_damage )) 

Как приостановить цикл while до тех пор, пока пользователь не нажмет один из клавиш? Если это необходимо, здесь будет весь код.

 from msvcrt import getch class Animal(): health = 100 mana = 100 attack0_damage = 1 attack1_damage = 5 attack2_damage = 10 def __init__(self, name, species): self.name = name self.type = species def stat_mod(self): if self.type == "Hippo": Animal.health += 30 Animal.mana -= 5 Animal.attack0_damage += 10 Animal.attack1_damage += 10 Animal.attack2_damage += 10 elif self.type == "Armadillo": Animal.health += 20 Animal.mana += 10 Animal.attack0_damage += 1 elif self.type == "Crocodile": Animal.health += 25 Animal.mana += 5 Animal.attack0_damage += 5 Animal.attack1_damage += 5 Animal.attack2_damage += 5 def attack(self, whatToAttack): while True: print(""" Use key 1 to do {} damage, key 2 for {} damage, and key 3 for {} damage """.format( Animal.attack0_damage, Animal.attack1_damage, Animal.attack2_damage )) key = ord(getch()) print(Animal.health) print(Animal.mana) print(whatToAttack.health) if key == 49: whatToAttack.health -= Animal.attack0_damage print(Animal.health) print(Animal.mana) print(whatToAttack.health) elif key == 50: whatToAttack.health -= Animal.attack1_damage mana -= 5 print(Animal.health) print(Animal.mana) print(whatToAttack.health) elif key == 51: whatToAttack.health -= Animal.attack2_damage mana -= 10 print(Animal.health) print(Animal.mana) print(whatToAttack.health) else: print("Invalid key! You can only press the keys 1, 2, and 3!") if whatToAttack.health <= 0: print("You beat {}!".format(whatToAttack.name()) break input("Press enter to exit.") hippo = Animal("Joe", "Hippo") hippo.stat_mod() armadillo = Animal("Jeff", "Armadillo") armadillo.stat_mod() hippo.attack(armadillo) 

Python - лучший язык программирования в мире.