鱼C-小师妹 发表于 2022-2-22 20:45:14

30 - 简易黄页查询系统

本帖最后由 鱼C-小师妹 于 2022-5-17 15:33 编辑

在线视频:

https://www.bilibili.com/video/BV1HT4y1K7DY?p=33

static/image/hrline/1.gif



“黄页”起源于北美洲,1880 年世界上第一本黄页电话号簿在美国问世,至今已有 100 多年的历史。

黄页是国际通用按企业性质和产品类别编排的工商电话号码簿,相当于一个城市或地区的工商企业的户口本。

国际惯例用黄色纸张印制,故称黄页。

这次我们手动实现一个简易黄页查询系统~

有同学会问了:

难道要用数据库吗?
没错,市面上的查询系统肯定要用到各种数据库。

但我们这次通过 Python 中的:

**** Hidden Message *****


dict 是 dictionary 的缩写,其实和我们日常所用到的字典一样。

我们是怎么查字典呢?

肯定不能从字典的第一页开始翻,也不能从字典的中间某一页开始翻。

最常见的查字典方法是音序查字法,也就是根据拼音来查找汉字。

查找过程大致如下:

先查找汉字的拼音首字母,再查找拼音的第2个字母,再查找第3个字母……依次进行,就可以快速跳转到待查汉字的所在位置。
查字典的思路,就是哈希表的思想。

哈希表,又称为散列表,是一种通过给定关键字的值访问具体对应值的数据结构。

简单地说,就是把关键字映射到一个表中来直接访问记录,以加快访问速度。

小师妹之前有介绍的破解密码视频就是基于哈希表实现。

https://www.bilibili.com/video/BV1hL411V7sm

我们通常把这个关键字称为 Key,把对应的数据记录称为 Value,通过 Key 访问映射表,即可快速得到Value的地址。

而这个存放记录的数组,就叫作哈希表啦~

我们就用哈希表来实现黄页吧。

要想实现黄页的创建、查找、修改、删除联系人功能。

首先要将联系人姓名与其电话号码联系起来对不对,这是最重要的信息。

也就是将联系人姓名作为哈希表的 key,对应的电话号码作为哈希表的 vaule。

利用名字,可查找对应的电话号码。

为黄页簿添加联系人时,可以增加联系人手机号,还可以修改联系人信息。

当不想再与某人有联系时,可以删除该联系人。

创建哈希表很简单,一行代码:

infornationBook = dict()
为了简化信息,我们联系人信息就保留名字和电话:

informationBook = dict(小甲鱼 = '188-8888-****',小由鱼='123-4555-****',小田鱼='136-9475-****',小电鱼='137-1734-****',小申鱼='123-1238-****')

接下来先来查找已有的联系人。

例如,查找小甲鱼的电话号码,代码如下:

print("小甲鱼的电话号码是:", informationBook['小甲鱼'])
就会打印出:



此时哈希表的 key 值是“小甲鱼”,通过查找,最后的 value 值是 188-8888-****,完成查找。

添加新的联系人及其联系方式。

例如,添加小师妹的电话号码,代码如下:

informationBook['小师妹']="166-6666-66**"
现在输出全部哈希表:

print(informationBook)


我们还可以修改某项的值,例如将小由鱼电话变成新值:

informationBook['小由鱼']="122-2222-22**"
接下里删除已存在的联系人“小电鱼”:

del informationBook['小电鱼']

此时全表中就没有小电鱼了:



从结果来看,已经没有了小电鱼及其电话号码,说明已经删除了此联系人。

好啦,最基本的几个操作就在这里啦,关于哈希表的更多玩法,我们日后有机会会介绍道~

下课!

tomok 发表于 2022-2-23 08:51:28

{:5_108:}

shiyouroc 发表于 2022-2-24 14:03:43

6666

pthon新手 发表于 2022-4-9 13:33:37

学习学习!

东方天晨 发表于 2022-7-30 19:23:35

{:10_256:}

憨憨学py 发表于 2022-8-11 11:36:00

{:7_146:}
页: [1]
查看完整版本: 30 - 简易黄页查询系统