Python基础教程97页根据名字,中间名,姓查找联系人的程序
题目是:编写一个能用名字,中间名字或姓查找联系人的程序
我试了几个小时,应该是def store()函数里面label和name没读进去,但是直接print label,name可以输出啊。下面有代码的图片,看图片清晰些,大一初学者拜托大神帮帮忙!
这是源代码:
def init(data):
data['first']={}
data['middle']={}
data['last']={}
def lookup(data,label,name):
return data[label].get(name)#如果不存在就返回空
def store(data,full_name):
names=full_name.split()
if len(names)==2:names.insert(1,'')
labels='first','middle','last'
for label,name in zip(labels,names):
people=lookup(data,label,name)
if people:
people.append(full_name)#这里应该不会执行
else:
data[label][name]=[full_name]