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

【代码思路】

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

欢迎指错

关注我更新更多初学实例

相关推荐
审小匠OpenCPAi几秒前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Hrain-AI4 分钟前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
wdfk_prog29 分钟前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
oort12342 分钟前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程
slandarer1 小时前
MATLAB | 泰勒图绘制,支持各种角度范围
开发语言·数学建模·matlab·nature·顶刊·泰勒图
元Y亨H1 小时前
Pandas 解析 Excel 导致的内存溢出(MemoryError)
python·excel
mct1231 小时前
c++ iconv 字符utf-8转换gb2312失败
开发语言·c++
金銀銅鐵2 小时前
[Python] 用 turtle 来绘制瑞典国旗
python
Albert Edison2 小时前
【GUI 自动化测试】Pywinauto 常见操作
自动化测试·python·pywinauto
海兰2 小时前
【高速缓存】RedisVL为文本生成嵌入向量实践指南
人工智能·python·机器学习