Python基础教程97页根据名字,中间名,姓查找联系人的程序

turbo_mj 2016-01-19 08:33:46
题目是:编写一个能用名字,中间名字或姓查找联系人的程序
我试了几个小时,应该是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]
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sheep8624 2016-01-27
  • 打赏
  • 举报
回复
下个文本编辑器吧,像这种锁进问题,都直接可以自动提示的。
panghuhu250 2016-01-19
  • 打赏
  • 举报
回复
for语句的缩进不对, 它自己变成了独立的代码, 不是store函数的一部分了.
turbo_mj 2016-01-19
  • 打赏
  • 举报
回复
turbo_mj 2016-01-19
  • 打赏
  • 举报
回复

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧