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

【代码思路】

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

欢迎指错

关注我更新更多初学实例

相关推荐
甄心爱学习18 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
福大大架构师每日一题18 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
tuotali202618 小时前
氢气压缩机技术规范亲测案例分享
人工智能·python
嫂子的姐夫19 小时前
030-扣代码:湖北图书馆登录
爬虫·python·逆向
五阿哥永琪19 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
a11177619 小时前
EasyVtuber(或其衍生/增强版本)的虚拟主播(Vtuber)面部动画生成与直播解决方案
python·虚拟主播
lintax19 小时前
计算pi值-积分法
python·算法·计算π·积分法
小凯1234519 小时前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
逻极19 小时前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest