除了看看小甲鱼的视频外,主要依靠《Python基础教程》的第二次修订版本电子书作为主要文字参考书籍,在浏览第四章字典相关内容时,发现书中的一点小遗漏,在此略作补充。
原书4-1例程程序和执行效果预览如下图所示:
图中黄色标注的区域就是遗漏之处,可能是考虑到排版去除了一行代码,但容易对零基础的入门学员产生一定干扰,毕竟Python是很多经管金融方向人员的编程入门语言。
代码缺失的结果如下所示:
补充并适当添加修饰的代码如下:
# 简单数据库# 使用人名作为键的字典,每个人用另一个字典表示,其键phone和addr分别表示他们的电话号码和地址。people = { 'Alice':{ 'phone':'2341', 'addr':'Foo drive 23' }, 'Beth':{ 'phone':'9012', 'addr':'bar street 42' }, 'Cecil':{ 'phone':'3158', 'addr':'Baz avenue 90' } }labels = { 'phone':'phone number', 'addr':'address' }PRint('='*50)#通过排列等号获得分界线name = str(input('Input a name:'))request = str(input('Phone numer (p) or address (a)?')) #书中缺失的一行代码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]))print('='*50)#通过排列等号获得分界线运行效果如下,与书中完全一致:
个人觉得这个例程还是很有意思的,也值得进一步发散思索,不过我还在思考对于这种内部嵌套的字典如何进行append添加,等知道方法后会在本文续写实现方法。
新闻热点
疑难解答