例子来源于《python基础教程》第三版,57p
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的克东网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
该例子主要是使用字典的方式,实现一个小型的数据库,通过查询字典的键值来获取用户的信息。
本人修改了部分代码。
#!/usr/bin/python3
-*- coding:utf-8 -*-
# 使用字典构建一个简单的数据库
#导入模块,主要为了做异常退出
import os
# 构建people字典,用来存储用户信息
people = {
'Ailce':{
'phone': '2341',
'addr': 'Foo drive 23'
},
'Beth': {
'phone': '9102',
'addr': 'Bar street 42'
},
'Cecil': {
'phone': '3158',
'addr': 'Baz avenue 90'
}
}
# 构建一个输出字典,主要用于后面的输出,也可以不构建,到print的时间将字符写上去即可
labels = {
'phone': 'phone number',
'addr': 'address'
}
# 提示用户输入名字
name = input('Name:')
request = input('Phone number(p) or address(a)?')
# 判断用户数据的查询信息,是地址还是电话,这里我做了修改。
if request == 'p':
key = 'phone'
elif request == 'a':
key = 'addr'
else:
print('Your Input Options Error.')
os._exit(1) #异常退出,不会执行后面的代码。
# 判断用户输入的名字是否在字典中,这里我做了修改。
if name in people:
print("{}'s {} is {}.".format(name,labels[key],people[name][key]))
else:
print("Sorry.{}'s {} is not existe".format(name,labels[key]))
运行结果:
# 用户不存在的情况下。
[root@python dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?a
Sorry.Peng's address is not existe
#用户存在的情况下
[root@python dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?p
Cecil's phone number is 3158.
[root@python dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?a
Cecil's address is Baz avenue 90.
[root@python dict]#
# 查询的参数错误的情况下
[root@python dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?b
Your Input Options Error.