【python基础】用字典做一个小型的查询数据库
admin
2023-07-20 18:42:42
0

例子来源于《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.

相关内容

热门资讯

放弃出片的中产,挤爆“旅游兴趣... 六月到了,牛马们一年一度的出走季也到了。但这个端午假期,朋友圈的画风有点不对——年轻人好像集体抛弃了...
莫斯科再遭大规模袭击,76架乌... 据凤凰卫视报道,俄罗斯莫斯科6月19日再次遭到乌军大规模无人机袭击,俄军至少击落76架乌军无人机。俄...
民进党当局扬言查处与大陆签约的... 海峡导报综合报道 中国国民党籍台中市长卢秀燕19日陪嘉义市长参选人张启楷扫街拜票,对陆委会扬言要查处...
挪威将禁止小学生使用生成式人工... 挪威首相斯特勒19日表示,为防止对学习产生负面影响,挪威将基本全面禁止小学生使用生成式人工智能(AI...
优必思取得移动式称重包装机专利... 国家知识产权局信息显示,湖南优必思自动化科技有限公司取得一项名为“一种移动式称重包装机”的专利,授权...
原创 超... 华为在上半年的新机较多,比如华为nova 16系列、华为Pura 90系列、华为Pura X Max...
原创 荣... 纵观今年618手机销量榜单,1500元价位段出现了一匹黑马——荣耀X70焕新版,长期稳居同价位销量榜...
led灯不亮故障解决方法 当 LED 灯不亮时,可以按照以下步骤进行故障排除和解决:1. 检查电源:确保 LED 灯的电源正常...
led吊灯忽明忽暗怎么回事 LED 吊灯忽明忽暗可能由以下原因导致:1. 电源问题:吊灯的电源供应不稳定,可能是电压波动、电源线...
抽油烟机抽得少怎么回事 抽油烟机是我们厨房中重要的设备之一,它能有效地吸收烹饪的烟味和油蒸气,让我们的厨房变得更加清新和干净...