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交换

【代码思路】

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

欢迎指错

关注我更新更多初学实例

相关推荐
god002 分钟前
Selenium等待判断元素页面加载完成
java·开发语言
沟通qq 8762239653 分钟前
三层电梯的PLC控制实战:从IO表到仿真联调
python
isyoungboy5 分钟前
c++使用win新api替代DirectShow驱动uvc摄像头,可改c#驱动
开发语言·c++·c#
Dxy12393102167 分钟前
python如何去掉字符串中最后一个字符
开发语言·python
云和数据.ChenGuang19 分钟前
`post_max_size`、`max_execution_time`、`max_input_time` 是 **PHP 核心配置参数**
开发语言·mysql·php·zabbix·mariadb
听风吟丶20 分钟前
Java HashMap 深度解析:从底层结构到性能优化实战
java·开发语言·性能优化
Dxy123931021624 分钟前
Python类入门:用“汽车工厂”理解面向对象编程
python
ZBritney26 分钟前
JAVA中的异常二
java·开发语言
weixin_3077791327 分钟前
Jenkins Pipeline:Groovy插件全解析:从原理到实战应用
开发语言·ci/cd·自动化·jenkins·etl
拉普拉斯妖10828 分钟前
DAY35 模型可视化与推理
python