|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#新手求助
最近在看书《PYTHON基础教程》。第4章 字典章节中,有一段代码,敲了之后报错:TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
想知道具体是什么问题,怎么修改。
多谢各位
代码如下:
#字典使用人名作为key,每个人用另一个字典来表示,其中key “phone”和“addr”分别表示电话和地址
people = {
'Alice':{
'phone':'1234',
'addr':'Foo drive 23'
},
'Beth':{
'phone':'3456',
'addr':'Bar street 42'
},
'Cecil':{
'phone':'6789',
'addr':'Baz avenue 78'
},
}
#针对电话号码和地址使用的描述性标签,会在print时候用到
labels = {
'phone':'phone number',
'addr':'address'
}
name = input('Name:')
#查找电话号码还是地址
request = input('Phone number (p) or address (a)?')
#使用正确的key
if request == 'p':
key = 'phone'
if request == 'a':
key = 'addr'
#如果名字是字典中的有效key才打印信息
if name in people:
print ("%s's %s is %s.") % \
(name,labels[key],people[name][key])
最后2行改成
print ("%s's %s is %s."%\
(name,labels[key],people[name][key]))
|
|