首页 > 解决方案 > 如何在一行中使用 getch() 打印?

问题描述

我在 python3 中遇到问题。当我按下键盘上的“a”按钮时,我只想在一行中打印“#”,但是当我按下例如 10 次“a”时使用此代码,不会出现“#”,但是当我按下“q”按钮时,所有的“#”都会出现。为什么会这样?此外,在打印功能中,它向我显示了错误的 -> end=" " 代码:

import getch

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

标签: python-3.xgetch

解决方案


对于 Python 3,print可以采用可选的 flush 参数,其中流被强制刷新。

 print('#', sep=' ', end='', flush=True)

推荐阅读