Python字典使用练习-----实现查找电话号

不记得字典语法知识的可以翻我主页^V^

【要求】

定义一个电话簿,字典里头设置以下联系人:

'mayun':'13309283335',

'zhaolong':'18989227822',

'zhangmin':'13382398921',

'Gorge':'19833824743',

'Jordan':'18807317878',

'Curry':'15093488129',

'Wade':'19282937665'

现在输入人名,查询他的号码

【加强项-----如何通过电话号找人呢?】

【练习要求】

针对知识点字典定义、访问安排的本实例。要求实现:输入人名,查询其号码

【重要步骤提示】

  1. 字典定义
  2. 字典访问keys()
  3. 编写程序代码如下
python 复制代码
#定义初始值,便于后续查找
dic1={'齐夏':'13309283335',
      '陈俊南':'18989227822',
      '甜甜':'13382398921',
      '章晨泽':'19833824743',
      '乔家劲':'18807317878',
      '燕知春':'15093488129',
      '楚天秋':'19282937665'}
dic2 = {}
for i,j in dic1.items():
    dic2[j] = i
#循环列表查询(查不到接着查)
while True:
    #引导用户查询
    name=input('请输入名字:')
    a = input('电话号码:')
    #有记录
    if name in dic1:
        #输出电话号
        print(dic1[name])
        #结束查找
        # break
    if a in dic2.keys():
        print(dic2[a])
        break
    #无记录
    else:
        print('您查找的用户暂不存在')

(这里把加强项的问题也一起实现了^V^,主要实现步骤为dic2 = {} for i,j in dic1.items(): dic2[j] = i)

复制代码
#定义初始值,便于后续查找
dic1={'齐夏':'13309283335',
      '陈俊南':'18989227822',
      '甜甜':'13382398921',
      '章晨泽':'19833824743',
      '乔家劲':'18807317878',
      '燕知春':'15093488129',
      '楚天秋':'19282937665'}
dic2 = {}
for i,j in dic1.items():
    dic2[j] = i
#循环列表查询(查不到接着查)
while True:
    #引导用户查询
    name=input('请输入名字:')
    a = input('电话号码:')
    #有记录
    if name in dic1:
        #输出电话号
        print(dic1[name])
        #结束查找
        # break
    if a in dic2.keys():
        print(dic2[a])
        break
    #无记录
    else:
        print('您查找的用户暂不存在')

注:因为在字典的使用中,我们只能通过key来找value,不能通过value来找key-----(理由:key唯一但value不唯一)

所以我们在不想再次定义一边字典时,可以通过循环遍历字典事先将字典中key和value交换

【代码思路】

将输入的值与字典的值比对,如果相等则输出,否则找不到。

欢迎指错

关注我更新更多初学实例

相关推荐
smppbzyc几秒前
2025年亚太杯(中文赛项)数学建模B题【疾病的预测与大数据分析】原创论文讲解(含完整python代码)
python·数学建模·数据分析·数学建模竞赛·亚太杯数学建模·亚太杯
nbsaas-boot2 分钟前
Go语言生态成熟度分析:为何Go还无法像Java那样实现注解式框架?
java·开发语言·golang
xiaocainiao88112 分钟前
Python 实战:构建可扩展的命令行插件引擎
开发语言·python
碧海蓝天202235 分钟前
C++法则21:避免将#include放在命名空间内部。
开发语言·c++
兮动人43 分钟前
Java应用全链路故障排查实战指南:从系统资源到JVM深度诊断
java·开发语言·jvm
R-sz1 小时前
导出word并且插入图片
开发语言·c#·word
CodeWithMe1 小时前
【读书笔记】《C++ Software Design》第一章《The Art of Software Design》
开发语言·c++
脑袋大大的1 小时前
判断当前是否为钉钉环境
开发语言·前端·javascript·钉钉·企业应用开发
运器1231 小时前
【一起来学AI大模型】PyTorch DataLoader 实战指南
大数据·人工智能·pytorch·python·深度学习·ai·ai编程
音元系统1 小时前
Copilot 在 VS Code 中的免费替代方案
python·github·copilot