我是个初学者,请原谅我的无知。
我想做的基本上是从用户那里得到一个输入,它要么是1到9的数字,要么是一个空格。我在浏览这个网站时发现了一些代码,我认为应该有用,但是没有。当我尝试运行它时,它什么都不做,没有错误消息或任何东西。在
import msvcrt
numInput = 0
while numInput == 0 :
if msvcrt.kbhit():
if msvcrt.getch() == "1":
numInput = "1"
elif (msvcrt.getch() == "2"):
numInput = "2"
elif (msvcrt.getch() == "3"):
numInput = "3"
elif (msvcrt.getch() == "4"):
numInput = "4"
elif (msvcrt.getch() == "5"):
numInput = "5"
elif (msvcrt.getch() == "6"):
numInput = "6"
elif (msvcrt.getch() == "7"):
numInput = "7"
elif (msvcrt.getch() == "8"):
numInput = "8"
elif (msvcrt.getch() == "9"):
numInput = "9"
elif (msvcrt.getch() == " "):
numInput = " "
msvcrt.getch()
读取密钥。另外,您对numInput
值没有任何处理。在你有:
首先
^{pr2}$msvcrt.getch()
读取用msvcrt.kbhit()
检测到的密钥。如果是“1”,则它将退出循环。如果没有,它将转到第二个If并阻止,直到您再次按键。按下键后,python将对照“2”进行检查。等等。所以,如果您按1,您的代码将退出循环很好。如果你想用2退出,那么你必须按2两次(因为首先你要检查1)。。。你去拿钻头。试试这个:注意:这个循环也会独占你的进程的一个核心,但那是另一个故事。在
相关问题 更多 >
编程相关推荐