зачем самому писать код если всё написано за тебя? Ну не буду вдаваться в дебри и предложу использовать уже имеющийся модуль питона, если не хочешь качать сторонние -
выход из цикла на клавишу esc (27 это код клавиши все кода есть в инете погугли), другие кнопки делаются похожим образом, но я всё равно советую использовать модуль keyboard
from msvcrt import getch
while True:
n = ord(getch())
print(n)
if n == 27:
break