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(): dic2j = 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交换

【代码思路】

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

欢迎指错

关注我更新更多初学实例

相关推荐
崖边看雾18 小时前
记录Python学习——第一章环境安装下载(Windows)
windows·python·学习·pycharm
CS创新实验室19 小时前
NumPy数组的C风格和Fortran风格
c语言·开发语言·numpy
用户2986985301419 小时前
Python 实现 Excel 到 ODS、XPS、PostScript 及 PDF/A-1b 的格式转换
后端·python·excel
本地化文档19 小时前
xlwings-docs-l10n
python·github·excel·gitcode·sphinx
逝水无殇19 小时前
C# 正则表达式详解
开发语言·后端·正则表达式·c#
朱永博19 小时前
使用Onnruntime实现Padim/Patchcore推理
开发语言·c#
前端H19 小时前
Biome & Rolldown:Rust 工具链接管前端基建
开发语言·前端·rust
天天进步201520 小时前
UI-TARS 源码解析 #4:UI-TARS 与传统 RPA 的区别:为什么它不是简单的坐标点击脚本?
开发语言
运维行者_20 小时前
广域网性能监控:分布式IT架构下的链路质量保障
开发语言·网络·分布式·后端·架构·数据库架构