我正在尝试使用msvcrt模块为自动驾驶汽车创建一个python Keylistener。但它不能捕获我按下的键。代码如下:
if msvcrt.getwch() == 'w':
keypresses.append(1)
elif msvcrt.getwch() == 's':
keypresses.append(2)
elif msvcrt.getwch() == 'd':
keypresses.append(3)
elif msvcrt.getwch() == 'a':
keypresses.append(4)
elif msvcrt.getwch() == 'w'and'a':
keypresses.append(5)
elif msvcrt.getwch() == 'w'and'd':
keypresses.append(6)
elif msvcrt.getwch() == 's'and'a':
keypresses.append(7)
elif msvcrt.getwch() == 's'and'd':
keypresses.append(8)
else:
keypresses.append(0)有人能告诉我我的代码出了什么问题吗?
发布于 2017-06-17 03:45:57
代码的主要问题是在每个if语句中检查一个新的按键,而不是保存一次并检查结果是什么。要保存一次按键,应执行以下操作:
keypress = msvcrt.getwch()然后检查keypress的值。即:
if keypress == "a":
print("The 'a' key has been pressed')https://stackoverflow.com/questions/44596632
复制相似问题