我所试图做的
我试图设计一个圈计时秒表。 当您按下“L”,然后一圈完成,当你按下“S”的所有圈完成和时序按顺序显示。
而在C ++中我可以从CONIO.H功能_getch()做到这一点,这将是非常容易的。 我想在Python编写这个程序,因为这将是一个很多更容易,并在C ++处理时间被证明是困难的。
不过我没有写一个程序(这是为立方体时间)此链接: 魔方计时器
问题
有没有像_getch无功能()。 这是一个问题,因为在一圈结束时,您不能按一个键和回车键,因为这将是一次服用和刺激性的用户。
东西我读
我读到的library但可惜它没有窗户端口。
我想,应该根据网站工作的程序。 这是从链接
链接残培食谱
但它没有工作。
我的尝试:
msvcrt.getch()
>>> import msvcrt >>> msvcrt.getch() '\xff'
我相信FF是255的十六进制值。
我不明白这是为什么happenning。
readch()
如sugggested在@martineau进口MSVCRT
高清readch(回声= TRUE): “在Windows上获取单个字符。” 而msvcrt.kbhit():#清除掉键盘缓冲区msvcrt.getch()CH = msvcrt.getch(),而在 '\ X00 \ xe0' CH:#箭头或功能键前缀? msvcrt.getch()CH = msvcrt.getch()#第二调用返回实际的键代码,如果回声:msvcrt.putch(CH)返回ch.decode()
A = []
对于i在范围(10):a.append(readch())
我得到的错误:
>>>
Traceback (most recent call last):
File "C:/Python25/1.py", line 30, in <module>
a.append(readch())
File "C:/Python25/1.py", line 25, in readch
return ch.decode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
我需要什么帮助
这就像_getch()或等价的东西是在Windows机器上工作的功能。
机规格
IDLE的Python 2.5.4或2.6或2.7
的Windows XP SP3