原始问题
这是使用 Jupyter Notebook 用 Python 2 编写的。如果措辞/术语非常规,我提前道歉。我是初学者,不了解大多数编码约定。
blue = 24
red = 18
color = input('What color would you like to know the value for? \n')
print (color)
我希望能够运行代码,输入“蓝色”并打印 24。
编辑:
理想情况下,我希望不必构建字典。这是我的实际代码的简化。我已经定义了很多很多变量(一些定义需要用户输入),并且必须从中创建一个字典会非常不方便。
这是我的(更现实的)代码:
blue = input('What is the value of blue?')
green = input('What is the value of blue?')
cyan = blue*green
color = input('What color would you like to know the value for? \n')
print (color)
我希望能够运行代码,输入青色并让它打印变量青色的数值。
例子:跑。输入 3. 输入 5. 输入青色。代码打印 15
使用raw_input
. input
在好的情况下将覆盖现有值,在更坏的情况下会提高 a NameError
。然后尝试从locals()
以下位置检索值:
blue = 24
red = 18
color = raw_input('What color would you like to know the value for? \n')
try:
print locals()[color]
except KeyError:
print 'Color {} is not defined'.format(color)
请注意,这几乎是一个 hack,使用这种方式用户将能够访问任何定义的局部变量。如果您想限制用户可以访问的内容,请使用预定义的字典,就像其他一些答案建议的那样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句