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

转载于:https://blog.51cto.com/xiaowangzai/2166037

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

  1. 0基础用android做一个excel表查询器(2):编写程序

    0基础用android做一个Excel表查询器(2):编写程序 编完页面下面就该开始写程序了,首先确定一下思路,很简单,将Excel表写入一个List(或数组)里,然后获取Plain Text中写入的 ...

  2. python基础03/字典

    python基础03/字典 内容大纲 1.字典 1.字典 字典是无序,可变的数据类型 字典:用于存储数据,储存大量数据,字典要比列表快 1.1 定义一个列表 lst1 = ["老大" ...

  3. python将一个json字典转换为一个python对象

    python将一个json字典转换为一个python对象 示例代码: from collections import OrderedDict import jsondata = '{"nam ...

  4. docker 怎样用一个基础镜像然后做一个新的镜像

    docker 怎样用一个基础镜像然后做一个新的镜像 我们知道docker 镜像必须有一个基础镜像,那么如何从一个基础镜像制作出自己需要的镜像呢? docker load 基础镜像 ------load ...

  5. 利用快递100的接口做一个快递信息查询

    如何在自己的网站上做一个快递的查询? 通过简单的快递100 api 即可做一个自己的快递查询工具 代码范例: 具体代码教程: https://cybozudev.kf5.com/hc/kb/artic ...

  6. 刻意练习:Python基础 -- Task06. 字典与集合

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  7. Python基础编程——字典

    前面介绍了序列,本节将介绍Python中唯一的内置映射类型-字典(dict),在字典中值不是按照索引来排列的,而是存储在指定的键下面,键可能是字符串.数字.元组等.Python中的字典类似于json格 ...

  8. Python高手必读,做一个精通规则的玩家

    编程,其实和玩电子游戏有一些相似之处.你在玩不同游戏前,需要先学习每个游戏的不同规则,只有熟悉和灵活运用游戏规则,才更有可能在游戏中获胜. 而编程也是一样,不同编程语言同样有着不一样的"规则 ...

  9. python基础之字典的嵌套

    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏. ...

最新文章

  1. Windows 2008 R2 SP1部署Lync2010企业版(四)
  2. #Hive报错 WritableStringObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspect
  3. 【HihoCoder - 1881】特殊任务 (树形图,遍历)
  4. 2019年中国IaaS公有云市场排名及份额出炉
  5. 深入解析:Row Movement 的原理和性能影响与关联
  6. 【Qt学习笔记】3.布局
  7. Chrome 跨域调试
  8. web.xml/servlet过滤器之压缩UrlRewriteFilter
  9. 计算机应用基础辅导资料,《计算机应用基础》辅导资料三
  10. read.table--R语言
  11. 《物联网开发实战》05 系统实例:怎样设计一个简易物联网系统?(学习笔记)
  12. sci-hub, libgen等科研用文献书籍下载
  13. win7系统怎么查看电脑配置,win7电脑系统配置查看
  14. vulnhub:inferno-1.1
  15. 微信公众号消息通知(原生)
  16. linux NUMA技术
  17. RabbitMQ六种工作模式
  18. [知识普及贴]中国人不可不知道的知识(怕以后找不到了~~) [经典,值得收藏]
  19. RISC-V SiFive U54内核——中断和异常详解
  20. deepin nfs模块_01.Ceph Dashboard全功能安装集成更新安装告警模块

热门文章

  1. windows10 + Anaconda搭建tensorflow-gpu环境
  2. red hat linux 7.1 使用手册!,Red Hat Linux 7.1使用手册(中)
  3. linux pmap命令,Linux pmap 命令用法详解-Linux命令大全(手册)
  4. mongodb查询不带表名_原创 | MongoDB常用指令
  5. 类的初始化列表_探索未知种族之osg类生物---渲染遍历之draw函数二
  6. protobuf message定义_ProtoBuf 协议设计与开发
  7. java 按条件注解_Spring 条件注解 @Conditional
  8. 【每周CV论文】初学GAN图像风格化必须要读的文章
  9. 全球及中国电子材料行业前景展望与投资机会分析报告2021年版
  10. 中国水务行业运行状况调研与投资前景规划预测报告2022-2027年新版