Как печатать с помощью getch() в одну строку?

У меня проблема с python3. Я хочу напечатать «#» только в одной строке, когда я нажимаю кнопку «а» на клавиатуре, но с этим кодом, когда я нажимаю, например, 10 раз «а», не появляется "#", но когда я нажимаю кнопку "q", появляются все "#". Почему это происходит? Кроме того, в функции печати он показывает мне неправильный код -> end="" Code:

import getch

while True:
    char = getch.getch()
    if(char == 'a'):
        print('#', end=" ")
    elif(char == "q"):
        break

person Nick_Gkoutzas    schedule 01.06.2020    source источник
comment
посмотрите, может ли это вам помочь. stackoverflow.com/questions/12175964/   -  person aviboy2006    schedule 01.06.2020
comment
Отвечает ли это на ваш вопрос? Метод Python для чтения нажатия клавиш?   -  person DYZ    schedule 01.06.2020


Ответы (1)


Для Python 3 print может принимать необязательный аргумент flush, где поток принудительно сбрасывается.

 print('#', sep=' ', end='', flush=True)
person Steve Giles    schedule 01.06.2020