文章目录

  • 代码
  • 结果

代码

说明:本文中的还原,是一个很简略的还原,删除操作不会修改备份数据,修改和增加均会修改备份数据,这个只是一个简单设定而已,大家有需要,自行修改研究

话不多说,上代码:

print('''|---欢迎进入通讯录增删改查---|
|---1、 查询所有联系人姓名---|
|---2、 查询所有联系人电话---|
|---3、 查询所有联系人资料---|
|---4、 查询指定联系人资料---|
|---5、 插入新的联系人资料---|
|---6、 删除指定联系人资料---|
|---7、 删除所有联系人资料---|
|---8、 还原所有联系人资料---|
|---9、 退出通讯录增删改查---|''')# 还原所有联系人资料主要针对删除联系人资料这一步操作所作的恢复
# 其余选项,备份数据会跟随操作数据一起更新def updateDict(dit1, dit2):dit1.clear()dit1.update(dit2)print("更新后所有联系人资料:", dit1.items())addressDict = {'zs': 130130,'ls': 140140,'ww': 150150,'ml': 160160
}  # 定义通讯录
addressDictBf = {}  # 定义通讯录备份
updateDict(addressDictBf, addressDict)
while 1:temp = input('请输入指令代码:')if not temp.isdigit():print("输入的指令错误,请按照提示输入")continueitem = int(temp)  # 转换为数字if item == 9:print("|---感谢使用通讯录增删改查---|")breakif item == 1:print("|---查询所有联系人姓名---|")print(addressDict.keys())continueif item == 2:print("|---查询所有联系人电话---|")print(addressDict.values())continueif item == 3:print("|---查询所有联系人资料---|")print(addressDict.items())continueif item == 4:print("|---查询指定联系人资料---|")strName = input("请输入联系人姓名:")if strName in addressDict:print(strName, ':', addressDict[strName])continueelse:print("该联系人不存在!")continueif item == 5:print("|---插入新的联系人资料---|")strName = input("请输入联系人姓名:")if strName in addressDict:print("您输入的姓名在通讯录中已存在-->>", strName, ":", addressDict[strName])isEdit = input("是否修改联系人资料(Y/N):")if isEdit == 'Y':userPhone = input("请输入联系人电话:")addressDict[strName] = userPhoneupdateDict(addressDictBf, addressDict)print("联系人修改成功")continueelse:continueelse:userPhone = input("请输入联系人电话:")addressDict[strName] = userPhoneupdateDict(addressDictBf, addressDict)print("联系人加入成功!")continueif item == 6:print("|---删除指定联系人资料---|")strName = input("请输入联系人姓名:")if strName in addressDict:addressDict.pop(strName)print("删除成功!")continueelse:print("联系人不存在")continueif item == 7:print("|---删除所有联系人资料---|")addressDict.clear()continueif item == 8:print("|---还原所有联系人资料---|")updateDict(addressDict, addressDictBf)continue

结果

运行结果部分截图:

本文把之前几篇博文中写到的一些知识点也串起来了,相当于一个回顾小结。毕竟光学不练,还是不能很好的掌握。

python学习-阶段训练(通讯录小练习)(增、删、改、查、还原)相关推荐

  1. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  2. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  3. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  4. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  5. Python 操作 Elasticsearch 实现 增 删 改 查

    Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...

  6. Go 学习笔记(50)— Go 标准库之 net/url(查询转义、查询参数增/删/改/查、解析URL)

    1. URL 概述 import "net/url" url 包解析 URL 并实现了查询的转码.URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案( ...

  7. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...

  8. Hibenate工具类(实现增/删/改/查)

    自己学习的时候,顺手写的.主要为了减少重复操作!感觉还是可以的! package com.hr.utils;import java.util.List;import org.hibernate.Que ...

  9. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

最新文章

  1. JavaScript 兼容新旧版chrome和firefox的桌面通知
  2. python中点的作用_一分钟了解Python中“*”的作用
  3. 2018年最实用机器学习项目Top 6(附开源链接)
  4. ubuntu 虚拟机上的 django 服务,在外部Windows系统上无法访问
  5. 西瓜书读书笔记5-决策树的分裂原则
  6. php编写一个学生类_0063 PHP编程编写学生分数信息编辑和删除功能网页
  7. 毕业生的商业软件开发之路 ---- 商业软件开发基础
  8. 菏泽智伴机器人_菏泽智伴机器人怎么代理
  9. php网站xiazai工具,php程序员工具箱下载_php程序员工具箱v1.0版本-php中文网工具下载...
  10. EasyAR 4.3 Unity云识别
  11. 如何自己搭建外卖红包平台,操作外卖CPS佣金提成实现躺赚=
  12. 声谱图(spectrogram)、FBank(Mel_spectrogram)和 MFCC(Mel倒谱)到底用哪个作为NN输入?
  13. QCon 北京 2021:Pulsar PMC 成员翟佳出席并演讲
  14. 高并发累加器 Striped64
  15. IQueryable和IEnumerable学习
  16. C语言 用switch语句算工资
  17. 2022年注册会计师考试全科汇总测试题及答案
  18. 使用加速器可以提升获取Docker官方镜像的速度
  19. 历上最强的音乐播放器(jetA…
  20. 我和仙女们不可不说的故事-II

热门文章

  1. 运行 ui5 serve 命令行报错的处理方法
  2. SAP ABAP Development Tool 提高开发效率的十个小技巧
  3. Angular routerLink指令的href属性生成逻辑
  4. 巧用Angular项目的get设置Angular class属性访问的别名
  5. 使用SAP Cloud for Customer Product OData服务读取产品主数据和其图片信息
  6. SAP CRM呼叫中心里的事件注册机制
  7. SAP Hybris Commerce,CRM和C4C的登录语言选择
  8. SAP智能机器人流程自动化解决方案
  9. 一个好用的临时文件上传和下载工具 - 奶牛快传
  10. SAP CRM Fiori reuse library的代码审查