温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

【python基础】用字典做一个小型的查询数据库

发布时间:2020-07-11 01:51:52 来源:网络 阅读:1164 作者:运维少年 栏目:编程语言

例子来源于《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.
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI