在python中获取键的值

时间:2015-12-23 03:50:36

标签: python

我在这里使用词典:

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'未定义”。对于它的解决方案。 谢谢。

4 个答案:

答案 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。