《Python基础教程第二版》第六章抽象中的一段代码运行没有反应解决思路

《Python基础教程第二版》第六章抽象中的一段代码运行没有反应
#编写可以查询人名的函数
def init(data):#data作为存储表,初始化,data中的存储格式为{‘first':{},'middle':{},'last':{})
    data['first']={}
    data['middle']={}
    data['last']={}

def lookup(data, label, name):
    return data[label].get(name) #get方法根据键找到值

def store(data,full_name):
    names=full_name.split()#split方法,加入分隔符,默认为空格
    if len(names)==2:names.insert(1,'')#如没有中间名插入空格
    labels='first','middle','last'
    for label,name in zip(labels,names):#zip内建函数,支持将可迭代对象作为参数,将对象中的元素打包成一个个元组,返回由这些元组组成的列表
        people=lookup(data,label,name)
    if people:
        people.append(full_name) #如果对应的label(first,middle,last)的name已经存在,就把全名添加进去
    else:
        data[label][name]=[full_name]#键不存在时,自动添加键值


运行之后没有报错。按书中的提示输完下一段应该有返回值的,为什么我输完代码木有反应呢?难道又是版本差异,我win7下python 3.4.2。

MyNames={}
init(MyNames)
store(MyNames,'Magnet Lie Hetland')
lookup(MyNames,'middle','Lie')


求大神指点。

------解决思路----------------------
某部分缩进不对吧,试试:
    ...
    for label,name in zip(labels,names):#zip内建函数,支持将可迭代对象作为参数,将对象中的元素打包成一个个元组,返回由这些元组组成的列表
        people=lookup(data,label,name)
        if people:
            people.append(full_name) #如果对应的label(first,middle,last)的name已经存在,就把全名添加进去
        else:
            data[label][name]=[full_name]#键不存在时,自动添加键值