![](/img/trans.png)
[英]How can I use a Button to turn string values, inserted into a GUI, into variables that can be used by other functions?
[英]How Can I Turn Variables Into A String of Values
我不知道这是否可行(python 新手),但我想使用已定义变量的列表,当我在 shell 或 cmd 中运行以接受输入时,然后显示翻译后的文本。
例如:
a = "00";
aa = " 0000";
b = "11";
bb =" 1111";
zz =" ";
那么如果客户端输入:a,b,bb,aa,zz,a,b
我希望它显示:0011 1111 0000 0011(就像那样)
如果有其他方法,我想坚持当前分配变量的方式。
我建议为此使用字典,如下所示:
translations = {
'a' : '00',
'aa' : '0000',
'b' : '11',
'bb' :'1111',
'zz' : ''
}
# python3
userInput = input()
print(' '.join(translations[key.strip()] for key in userInput.split(',')))
# python2
userInput = raw_input()
print ' '.join(translations[key.strip()] for key in userInput.split(','))
请注意,如果用户输入未定义的键,这将引发 KeyError。 您可以将 dict 查找包装在 try-except 块中并捕获 KeyError 以处理此问题。 或者,您可以使用字典的 .get() 方法,该方法允许您提供默认值作为第二个参数。
最好使用您自己定义的字典来实现这一点。 但是,如果像你说的,你不想改变你如何与这些变量的工作,你也可以利用locals()
它允许您访问定义局部变量的字典。 给你一个完整的例子:
a = "00"
aa = " 0000"
b = "11"
bb =" 1111"
zz =" "
variables = input("Variable string? ")
# Process the input into variable names
variables = [variable_.strip() for variable_ in variables.split(",")]
# Find values assigned to each variable
text = []
for variable_ in variables:
try:
text.append(str(locals()[variable_]))
except KeyError:
print("Variable {} not found".format(variable_))
print("".join(text))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.