【发布时间】:2015-08-24 17:53:08
【问题描述】:
我一直在编写一个 python 脚本来检测按键。它使用 pygame 模块。我的问题是按下向上、向下和向右箭头键而不是向左键时。我见过this 但是它对我的问题没有帮助。问题是当我按向上、向下或向右时,它会打印适当的文本,并且它们也会执行 else 语句,并将 even.unicode 替换为这个奇怪的符号,无论当我按下向左箭头键时,它都会打印“钥匙在左边”并且没有更多,就像它应该的那样。按键盘上的任何普通键也可以正常工作。奇怪哈。如果你能发现我做的嘘声,那就太好了。我的代码在下面,如果您安装了 pygame,您可以将其复制并粘贴到空闲 2.7 中,看看我的意思。
#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
【问题讨论】:
-
我建议您查看dictionaries,它可以节省您拥有较长的
if链。它们很容易用于打印回字符串,当您实际使用它们来运行代码时会稍微复杂一些,但可以使用函数。 -
@SuperBiasedMan 谢谢你的建议,我必须调查一下。听起来他们可以为我节省一点时间。
标签: python