我一直工作在一个python脚本来检测按键是真实的。它使用pygame模块。我的问题是当按向上,向下和向右箭头键,而不是左侧。我看过this,但它不能帮助我解决我的问题。问题是当我按Up,Down或Right时,它会打印适当的文本,然后执行else语句,并用这个奇怪的符号替换even.unicode,当我按下左箭头键时,它会打印出“The key left”和no更多,就像它应该的那样。同时按下键盘上的任何普通键都可以正常工作。怪异的HUH。如果你能发现我做出来的嘘声,那真是太好了。我的代码如下,如果你安装了pygame,你可以将它复制并粘贴到2.7的空闲空间中,看看我的意思。Else语句执行即使“如果”
#Python key detector, requires pygame module, uses python 2.7
#Import libraries
import pygame
import sys
from pygame.locals import *
#Init display
pygame.display.init()
#Infinite loop
while (True):
#Event detector
for event in pygame.event.get():
#If a key is pressed
if event.type == KEYDOWN:
if event.key == 99:
sys.exit()
if event.key == 273:
print "The key is Up"
if event.key == 275:
print "The key is Right"
if event.key == 274:
print "The key is Down"
if event.key == 276:
print "The key is Left"
else:
print "The key is " + event.unicode
我建议查看[字典](https://docs.python.org/2/tutorial/datastructures.html#dictionaries),它可以节省您很长的if链。它们很容易用来打印一个字符串,当你真的要使用它们来运行代码时它会更复杂一些,但它可以使用函数。 – SuperBiasedMan
@SuperBiasedMan非常感谢您的建议,我必须研究它们。听起来像他们可以节省我一点时间。 –