搜索字典中的人的年龄
我有一个功能,要求该人的姓名,然后打印他们的年龄,但我有麻烦进入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
在此先感谢
是的你是正确的我没有注意到,但它仍然跳过if语句 – user998316
@ user998316:我已链接到ideone,你可以看到它的作品。也许你输入了不正确的值? –
是的,你是对的,即时通讯抱歉,我没有注意到我有我的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
我只是做了我注意到,这是不对的这些变化,但仍犯规进入if语句 – user998316
难道你的订单混淆了吗?如果你的意思是_surname_而不是_subname_,那么你在查找带有('first name','last name')元组的字典中找到('last name','first name')。 – Vlad
我怀疑你的字典是否打印出这样的'{('name','subname'):19)},因为这是无效的Python(不匹配的圆括号)。 –