Python:Getch()未被识别为已定义变量
我是python新手,在使用getch.getch命令时遇到了问题。我正在创建一个程序,该程序将打印用户输入的二进制numpy数组,而无需按enter键。为此,我创建了一个零数组和一个字母列表,其中的坐标应转换为1,例如:a=([x1,x2,x3],[y1,y2,y3])。我用一个简单的input()命令使程序运行良好。但是,当我切换到getch.getch时,它提示了以下索引错误:“仅限整数、切片器…”我的程序是否无法将getch输入识别为已定义的变量?我能做些什么来解决这个问题?谢谢 我猜您的代码是这样的:Python:Getch()未被识别为已定义变量,python,getch,Python,Getch,我是python新手,在使用getch.getch命令时遇到了问题。我正在创建一个程序,该程序将打印用户输入的二进制numpy数组,而无需按enter键。为此,我创建了一个零数组和一个字母列表,其中的坐标应转换为1,例如:a=([x1,x2,x3],[y1,y2,y3])。我用一个简单的input()命令使程序运行良好。但是,当我切换到getch.getch时,它提示了以下索引错误:“仅限整数、切片器…”我的程序是否无法将getch输入识别为已定义的变量?我能做些什么来解决这个问题?谢谢 我猜您
a = (4,8,15)
b = (16,23,42)
c = (99, 100, 101)
value = input("choose a value:")
print value
choose a value:b
(16, 23, 42)
结果通常是这样的:
a = (4,8,15)
b = (16,23,42)
c = (99, 100, 101)
value = input("choose a value:")
print value
choose a value:b
(16, 23, 42)
现在您想使用getch
而不是input
。我走对了吗
在Python2.7中,getch
和input
的工作方式截然不同input
获取用户的输入,将其作为表达式进行计算,然后返回结果getch
仅返回用户键入的字符。这就是为什么input
为您提供(4,8,15)
和getch
为您提供“a”
不要将每个值存储为单独的变量,而是将它们全部存储在一个dict中,使用它们的旧变量名作为键。如果知道该值的名称,则可以访问该值
d = {
"a": (4,8,15),
"b": (16,23,42),
"c": (99, 100, 101)
}
key = getch()
print d[key]
您使用的是哪一版本的Python?可能与我使用的Python 2.7.8有重复。我遵循了你的答案(也复习了字典)——谢谢——但我收到了一个语法错误。我的字典看起来像:d={“a”:([2,5,8],[0,0,0]),“b”:([3,5,7],[0,2,4]),“c”:([1,2,3],[2,4,6])。你看到错误了吗?再次感谢。那本字典里没有语法错误。试着看那条线上面的那条线。有时,当Python告诉您问题所在的行时,它会逐个关闭。通常是缺少右括号。