# -*- coding: utf-8 -* #词典定义 people ={ 'Alice': { 'phone':'2341', 'addr':'Foo drive 23'}, 'Beth': { 'phone':'9102', 'addr':'Bar street 42'}, 'Cecil': { 'phone':'3158', 'addr':'Baz avenue 90' } } #针对词典中电话号码和地址缩写的描述性标签 labels = { 'phone' : 'phone number', 'addr' : 'address' } name = raw_input('Name: ') #查找电话号码还是地址 request = raw_input('Phone number (p) or address (a)?') #查找电话号码或地址的key值 if request == 'p' : key ='phone' if request == 'a' : key ='addr' #如果输入名字在词典中,则输出结果 if name in people:print "%s's %s is %s." % \ (name,labels[key],people[name][key])
相信肯定会有人运行错误,如果有错误,可以试试改改这里的代码,因为python中的键之间必须要用逗号分割,不能使用换行符号
people
=
{
'Alice'
:{
'phone'
:
'2341'
,
'addr'
'foo drive 23'
},
'Beth'
:{
'9102'
'Bar street 42'
'Cecil'
:{
'3158'
'Baz avenue 90'
}
if request == 'p' : key ='phone' 这样写的意思是?
if request == 'p' : key ='phone' if request == 'a' : key ='addr' 等同于 if requese =='p': key ='phone' if request == 'a': key ='addr'
这样写是因为条件语句模块内只有一条语句的情况下会这样写.