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

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

运行结果:

# 用户不存在的情况下。
[[email protected] dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?a
Sorry.Peng‘s address is not existe

#用户存在的情况下
[[email protected] dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?p
Cecil‘s phone number is 3158.
[[email protected] dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?a
Cecil‘s address is Baz avenue 90.
[[email protected] dict]# 

# 查询的参数错误的情况下
[[email protected] dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?b
Your Input Options Error.

原文地址:http://blog.51cto.com/xiaowangzai/2166037

时间: 2024-07-30 17:16:46

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

python基础之字典及字符

python基础之字典及字符串处理 本节内容 字典介绍及内置方法 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者

自己动手做一个小型“资源管理器”吧

自己动手做一个小型“资源管理器”吧 注:tvDirectory是treeView控件,lvDirectory是listView控件 首先搭建一下界面: 左边是treeView控件,右边是listView控件.(listView的网格线只需把GridLins设置成True就可以了.) 由于要用到IO流,所以别忘了导入命名空间:using System.IO; 我们只要创建一个文件类就可以了: 1 public class MyFile 2 { 3 //文件长度 4 public float Fil

python基础一 ------如何统计一个列表元素的频度

如何统计一个列表元素的频度 两个需求: 1,统计一个随机序列[1,2,3,4,5,6...]中的出现次数前三的元素及其次数 2,统计一片英文文章中出现次数前10 的单词 两种方法: 1,普通的for循环,结合前边 python基础一 -------如何在列表字典集合中根据条件筛选数据的内容 2,自带库 collections 的counter 方法 解决需求一,两种方法 一: 先生成一个随机的列表,通过方法一获取最大元素 获取最多元素 重点讲解第二种方法 1,先导入 from collectio

Python 基础之字典(dict)的用法

python dict字典字典是Python中唯一的内建映射类型,字典中的数据没有特定的顺序,可以通过特定的键(key)来存取数据.键可以是数字.元组或字符串,但不能是列表. 字典的常用方法:1.1 clear()方法1.2 copy()方法1.3 fromkeys()方法1.4 get()方法1.5 has_key()方法1.6 items.iteritems方法1.7 keys.iterkeys1.8 popitem()方法1.9 setdefault()方法1.10 update()方法1

Python基础之字典dict(薄弱环节重点回顾,记不住打死自己)

字典是我Python基础里面学的最薄弱的环节,重新回顾,务必深入骨髓. Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,字典是另 一种可变容器模型,且可存储任意类型对象.具有极快的查找速度. 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组.布尔值也可以,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 重点就是字典的键必须是可以被哈希的,什么叫可以被哈希我说不上来,简单的说就是不可变对象. a=

Python基础知识---字典

现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> value的映射关系,字典是无序性的,字典的key是不可变类型的,如int, str, float,tuple... 1.创建字典 (1)第一种方式创造字典,一次给全 >>> user = {'id': 1000, 'name': 'scd', 'password':'123'} >>&

如何做一个小型公司的技术总监

本文在腾讯内部论坛被浏览达7347次,收藏615次,评论几百条,曾经是讨论最热烈的项目管理文章之一.作为作者本身,感觉这个话题可以讨论的范围非常大,希望能有更多朋友一起切磋探索技术团队的管理之道. 资深程序员是团队中最强大的生产力,但往往被不合理的工作安排浪费掉.因此作为一个团队的技术的"头",必须要有明确清晰的认识,把主要的事务性工作剥离出来.并且放弃大量的管理"权力",以提高团队开发质量和效率为最主要的目标去安排自己的工作.一般来说技术总监其实会被要求做事实上是

Python 基础 4-1 字典入门

引言 字典 是Python 内置的一种数据结构,它便于语义化表达一些结构数据,字典是开发中常用的一种数据结构 字典介绍 字典使用花括号 {} 或 dict 来创建,字典是可以嵌套使用的 字典是成对出现的,字典以键(key)值(value)对形式体现 键与值之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔开 字典的 key 是唯一的,而 value 可以重复出现 字典的 key 不使用中文或其他字符,这是业内约定俗成的做法 创建字典 字典可以使用花括号 {} 或 dict 函数来创建 1. 使

【python基础】字典方法汇总

一.字典 定义:一组无序的键值对的组合 二.通过dict()声明一个字典 1.. dict() 创建一个空字典 2.. dict() 接收一个字典作为参数 ---> 创建一个字典 3.. dict() 接收列表套元组的数据结构 ---> 创建一个字典 4.. dict() 接收关键字参数 --> 创建一个字典 三.特点 1.字典是无序的 2.字典的key(键)必须是不可变的数据类型 3.字典的value(值)可以是任意的数据类型 4.字典是可变的数据类型 四.方法 1.增 (1)通过添加