鱼C论坛

 找回密码
 立即注册
查看: 3168|回复: 5

[技术交流] 30 - 简易黄页查询系统

[复制链接]
发表于 2022-2-22 20:45:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

在线视频:




                               
登录/注册后可看大图


Screen Shot 2013-01-04 at 下午8.05.19.png

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

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

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

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

有同学会问了:

难道要用数据库吗?

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

但我们这次通过 Python 中的:

游客,如果您要查看本帖隐藏内容请回复



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

我们是怎么查字典呢?

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

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

查找过程大致如下:

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

查字典的思路,就是哈希表的思想。

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

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

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



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

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

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

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

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

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

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

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

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

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

  1. infornationBook = dict()
复制代码

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

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


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

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

  1. print("小甲鱼的电话号码是:", informationBook['小甲鱼'])
复制代码

就会打印出:

2022-03-01_17-40-44.png

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

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

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

  1. informationBook['小师妹']="166-6666-66**"
复制代码

现在输出全部哈希表:

  1. print(informationBook)
复制代码

2022-03-01_18-24-15.png

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

  1. informationBook['小由鱼']="122-2222-22**"
复制代码

接下里删除已存在的联系人“小电鱼”:

  1. del informationBook['小电鱼']
复制代码


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

2022-03-01_18-28-58.png

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

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

下课!

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 08:51:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-24 14:03:43 | 显示全部楼层
6666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-9 13:33:37 | 显示全部楼层
学习学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-30 19:23:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-11 11:36:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表