Python---综合案例:通讯录管理系统---涉及点:列表、字典、死循环

需求:

开个一个通讯录的管理系统,主要用于实现存储班级中同学的信息(姓名、年龄、电话)

涉及点:列表、字典、死循环

相关链接:Python--列表及其应用场景---增、删、改、查。-CSDN博客

Python---字典---dict-CSDN博客

Python---死循环概念---while True-CSDN博客

注意:在Python中,我们可以使用字典来保存一个人的基本信息。但是如果想保存多个人的信息,我们必须把列表和字典结合起来。

代码:


students = [0,1,2]
student = {'name':'刘备', 'age':18, 'mobile': '10086'}组装:students = [{'name':'刘备', 'age':18, 'mobile': '10086'}, {'name':'关羽', 'age':17, 'mobile': '10000'}, {'name':'张飞', 'age':16, 'mobile': '10010'}]

为什么需要死循环:

当我们选中某个菜单时,功能一旦执行完毕,则整个程序就执行结束了。为了保存程序可以一直运行下去,可以模拟死循环的效果,让程序一直运行下去。

while True:
    ...

死循环相关链接:Python---死循环概念---while True-CSDN博客

要求:

正常情况下,通讯录管理系统应该有4个功能:增删改查

代码:


# 1、定义一个列表,将来用于存储所有学员的通讯信息
students = []# 2、打印功能菜单
print('-' * 40)
print('欢迎使用通讯录管理系统')
print('[1] 增加学员信息')
print('[2] 删除学员信息')
print('[3] 退出系统')
print('-' * 40)while True:# 3、提示用户进行相关操作user_num = int(input('请输入您要进行的操作编号:'))if user_num == 1:# 4、提示用户输入学员的信息student = {}student['name'] = input('请输入学员的姓名:')student['age'] = int(input('请输入学员的年龄:'))student['mobile'] = input('请输入学员的电话:')# 5、把学员信息保存在列表中students.append(student)print(students)elif user_num == 2:name = input('请输入要删除的学员信息:')# 6、遍历所有学员信息for i in students:if i['name'] == name:# 从列表中删除整个学员(字典)students.remove(i)print('删除成功')print(students)else:print('您要删除的学员信息不存在')elif user_num == 3:print('感谢您使用通讯录管理系统')breakelse:print('输入错误,请重新输入要操作的编号')

图示:


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/171881.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高防CDN:构筑网络安全的钢铁长城

在当今数字化的世界里,网络安全问题日益突显,而高防CDN(高防御内容分发网络)正如一座坚不可摧的钢铁长城,成为互联网安全的不可或缺之物。本文将深入剖析高防CDN在网络安全环境中的关键作用,探讨其如何构筑…

upload-labs关卡5(点和空格绕过)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第五关通关思路1.看源代码2.点和空格绕过3、验证上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试&#xff0…

嵌入式行业算青春饭吗?

今日话题,嵌入式行业算青春饭吗?嵌入式行业的技术要求确实非常广泛,需要深厚的知识广度和深度。这意味着入行门槛较高,我们需要了解不仅是软件和硬件,还要熟悉底层接口和硬件信号的处理方式,了解数据在计算…

漏洞复现--用友U8-cloud RegisterServlet SQL注入

免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

格式化或删除了存储卡的照片?值得收藏的几个有效方法

最好的恢复软件可以从 SD 卡、固态硬盘和硬盘恢复已删除的照片、视频和数据 您是否不小心重新格式化了存储卡或删除了想要保留的照片?最好的照片恢复软件可以提供帮助!如果您使用数码相机拍摄的时间足够长,当您错误地删除了您想要保留的图像…

远勤山丨于无声处听惊雷——写在远航汽车投产下线之际

“只要未来有前途的产业必然竞争激烈。新能源汽车目前还有很多新进入者,证明还有很大的成长空间。对于远航汽车,我们非常有信心坐上最后的牌桌。” 2023年11月8日,在山西运城大运新能源生产基地举办的“远航汽车下线仪式”上,大运…

软件测试自学指南,十年阿里测试工程师的建议

通过技能提升,入行IT可以的,但得先积累足够的经验,才能拿高薪,有个成长的过程。 软件测试岗介绍 软件测试岗位主要负责系统的测试工作,属于IT项目中的质量管理(QA)模块。 这个岗位分为两种类…

R程序 示例4.3.2版本包 在centos进行编译部署

为了在CentOS上下载和编译R语言4.3.2包,可以按照以下步骤进行操作: 1.首先,需要安装一些必要的依赖项。可以使用以下命令安装它们: sudo yum install -y epel-release sudo yum install -y gcc gcc-c gcc-gfortran readline-dev…

C#使用时序数据库 InfluxDB

一、安装 https://docs.influxdata.com/influxdb/v2/install/?tWindows 解压后使用cmd运行 访问 localhost:8086 配置 第一次登入会初始化 配置登入账号 保存TOKEN 这个TOKEN用于后期代码链接访问数据库,忘记了只能删除重新生成 点击QUCK START进入管理页面 …

华为笔记本电脑原装win10/win11系统恢复安装教程方法

华为电脑matebook 14原装Win11系统带F10智能还原 安装恢复教程: 1.安装方法有两种,一种是用PE安装,一种是华为工厂包安装(安装完成自带F10智能还原) 若没有原装系统文件,请在这里获取:https:…

后端接口性能优化分析-2

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码🔥如果感觉博主的文章还不错的话,请👍三连支持&…

weblogic漏洞修复打补丁

序号漏洞名称加固建议1Oracle Fusion Middleware Oracle WebLogic Server组件安全漏洞(CVE-2017-10352)http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html2Oracle Fusion Middleware和Oracle WebLogic Server 输入验证错误漏洞(CVE-2021-35617)htt…