【发布时间】:2021-11-19 20:57:24
【问题描述】:
我正在编写一个程序,它需要每秒读取一次控制台输入,您打算输入一个数字 1-3,程序每秒都会检查当前是否输入了其中一个数字,然后将该输入保存为稍后使用,清除控制台,并打印一些更新的值
例如,如果我在控制台中输入 1 并且不按回车键,程序将在第二个末尾读取它并将该 1 保存为字符串。
我已经有一个可以清除控制台并每秒打印新信息的工作计时器,但是目前,如果输入了某些内容,那么在第二秒结束时它就会被清除
【问题讨论】:
我正在编写一个程序,它需要每秒读取一次控制台输入,您打算输入一个数字 1-3,程序每秒都会检查当前是否输入了其中一个数字,然后将该输入保存为稍后使用,清除控制台,并打印一些更新的值
例如,如果我在控制台中输入 1 并且不按回车键,程序将在第二个末尾读取它并将该 1 保存为字符串。
我已经有一个可以清除控制台并每秒打印新信息的工作计时器,但是目前,如果输入了某些内容,那么在第二秒结束时它就会被清除
【问题讨论】:
如果我理解正确,问题是如果没有用户按 Enter 键,您将无法读取输入。
如果你在 Windows 上,我会使用 msvcrt 应该是预装的 所以代码看起来有点像
import msvcrt
while gameloop: #just the gameloop
# your code and all
input_char = msvcrt.getch(); #as a not this does return a char rather then a string
if (input_char.lower() == "some letter or number"):#do stuff...
【讨论】: