搜索字典中的人的年龄

搜索字典中的人的年龄

问题描述:

我有一个功能,要求该人的姓名,然后打印他们的年龄,但我有麻烦进入if语句,它总是跳过它。搜索字典中的人的年龄

我的字典印像这样在命令行上:{( '名', '子名称'):19)}

l_name = raw_input("Enter last name") 
f_name = raw_input("Enter first name") 
if (l_name, f_name) in my_dict.items(): 
    age = my_dict[l_name,f_name] 
    print age 

在此先感谢

+0

我只是做了我注意到,这是不对的这些变化,但仍犯规进入if语句 – user998316

+1

难道你的订单混淆了吗?如果你的意思是_surname_而不是_subname_,那么你在查找带有('first name','last name')元组的字典中找到('last name','first name')。 – Vlad

+0

我怀疑你的字典是否打印出这样的'{('name','subname'):19)},因为这是无效的Python(不匹配的圆括号)。 –

试试这个:

if (l_name, f_name) in my_dict: 

看到它在线工作:ideone

+0

是的你是正确的我没有注意到,但它仍然跳过if语句 – user998316

+0

@ user998316:我已链接到ideone,你可以看到它的作品。也许你输入了不正确的值? –

+0

是的,你是对的,即时通讯抱歉,我没有注意到我有我的if语句中的项目()。 – user998316

你非常接近。只需使用元组来执行查找,而不是使用

这里是工作代码:

age_dict = dict([ 
    (('tom', 'hanks'), 55), 
    (('al', 'pacino'), 71), 
]) 

l_name = raw_input("Enter last name: ") 
f_name = raw_input("Enter first name: ") 
if (l_name, f_name) in age_dict: 
    age = age_dict[l_name,f_name] 
    print age 

,给出了一个用户会话是这样的:

Enter last name: al 
Enter first name: pacino 
71