# -*- 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':{
'phone':'9102',
'addr':'Bar street 42'},
'Cecil':{
'phone':'3158',
'addr':'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'
这样写是因为条件语句模块内只有一条语句的情况下会这样写.