我在这里使用词典:
percentage = {'a':75.5, 'b':73, 'c':78, 'd':68, 'e':68}
name = input("enter a name: ")
if percentage.has_key(name):
print dict[name]
else:
print "no data"
当我给出一个名字(例如'a')时,它显示“未处理的Nameerror -name'a'未定义”。对于它的解决方案。 谢谢。
答案 0 :(得分:2)
尝试更改以引用词典的名称:
percentage = {'a':75.5, 'b':73, 'c':78, 'd':68, 'e':68}
name = input("enter a name: ")
if percentage.has_key(name):
print percentage[name]
else:
print "no data"
答案 1 :(得分:1)
首先,您必须按实际名称percentage
,而不是dict
来引用您的字典。 dict
是类型和函数,而不是您创建的对象。
其次,使用get
方法可以更轻松地执行此操作:
percentage = {'a':75.5, 'b':73, 'c':78, 'd':68, 'e':68}
name = input("enter a name: ")
print percentage.get(name, 'no data')
这将尝试检索name
的值,如果没有这样的键,它将返回字符串'no data'
。
答案 2 :(得分:0)
您使用的是Python 2.7还是Python 3?
如果您使用的是2.7,那么您需要使用raw_input()
,因为input()
相当于您可能不想要的eval(raw_input())
:
name = raw_input("enter a name: ")
如果您使用3,那么print
必须是一个功能:
print(dict[name])
...
print("no data")
然而,两个版本都有共同之处,需要进行一些修复。
首先,您不需要使用has_key()
。我很确定现在已经不存在了,所以最常用的方法就是:
if name in percentage:
容易对吗?接下来,您需要打印该值,为此,语法为:dictionary[key] = value
。你似乎拥有它,但你忘记引用自己的字典,而是使用内置类型dict
。它应该是:
print percentage[name]
所有这些(Python 2.7):
percentage = {'a':75.5, 'b':73, 'c':78, 'd':68, 'e':68}
name = raw_input("enter a name: ")
if percentage.has_key(name):
print percentage[name]
else:
print "no data"
答案 3 :(得分:0)
不要在python2.7中使用输入,因为它返回的是函数而不是字符串。请改用raw_input。