为了学习(和测试),我用 Python 制作了这个简单的字典和一个小查询。但我总是得到一个
NameError
,但我就是不知道出了什么问题
代码:
#!/usr/bin/env python3
def getColor(color):
Colors = {"red":"FF0000","green":"00FF00","blue":"0000FF"}
return Colors[color]
inputColor = str(input("Please input a color: "))
getColor(inputColor)
追溯:
Please input a color: blue
Traceback (most recent call last):
File "DictionaryTest", line 7, in <module>
inputColor = str(input("Please input a color: "))
File "<string>", line 1, in <module>
NameError: name 'blue' is not defined
解决方案
显然这个问题有一个解决方案,这是我的工作代码:
#!/usr/bin/env python3
def getColor(color):
Colors = {"red":"FF0000","green":"00FF00","blue":"0000FF"}
print Colors[str(color)]
inputColor = str(raw_input("Please input a color: "))
getColor(inputColor)
听起来您正在使用 Python 2,因此需要使用
raw_input()
而不是 input()
(无需转换为 str()
)。