学习笔记之Python人机交互小项目二:名片管理系统
继上次利用列表相关知识做了简单的人机交互的小项目名字管理系统后,当学习到字典时,老师又让我们结合列表和字典的知识,结合一起做一个名片管理系统,这里分享给在学习Python的伙伴!
1、不使用函数
1 print("*"*30)
2 print("\t名片管理系统")
3 print("1、增加一个名片")
4 print("2、删除一个名片")
5 print("3、修改一个名片")
6 print("4、查找一个名片")
7 print("5、显示所有名片")
8 print("6、退出系统")
9 print("*"*30)
10 mp = []
11 while True:
12 flag=0
13 mpdict = {}
14 num=input("请输入你的选择:")
15 if num=="1":
16 add_name=input("请输入要增加名片的姓名:")
17 add_phone=input("请输入要增加名片的电话:")
18 add_address=input("请输入要增加名片的地址:")
19 add_qq=input("请输入要增加名片的qq号码:")
20 mpdict["姓名"]=add_name
21 mpdict["电话"]=add_phone
22 mpdict["地址"]=add_address
23 mpdict["qq"]=add_qq
24 mp.append(mpdict)
25 print("名片增加成功!")
26 #print(mpdict)
27 #print(mp)
28 elif num=="2":
29 del_phone=input("请输入你要删除名片的电话:")
30 for x in range(len(mp)):
31 if mp[x]['电话']==del_phone:
32 mp.pop(x)
33 break
34 print("名片删除成功!")
35 elif num=="3":
36 change_phone=input("请输入你要修改名片的电话:")
37 for x in range(len(mp)):
38 if mp[x]['电话']==change_phone:
39 add_name=input("请输入要修改名片的姓名:")
40 add_phone=input("请输入要修改名片的电话:")
41 add_address=input("请输入要修改名片的地址:")
42 add_qq=input("请输入要修改名片的qq号码:")
43 mp[x]["姓名"]=add_name
44 mp[x]["电话"]=add_phone
45 mp[x]["地址"]=add_address
46 mp[x]["qq"]=add_qq
47 elif num=="4":
48 find_phone=input("请输入你要查找名片的电话:")
49 for x in range(len(mp)):
50 if mp[x]['电话']==find_phone:
51 flag=1
52 print("在")
53 if flag==0:
54 print("不在")
55 elif num=="5":
56 print("系统内所有的名片有:")
57 print("姓名\t电话\t地址\tqq")
58 for x in range(len(mp)):
59 print("%s\t%s\t%s\t%s"
60 %(mp[x]['姓名'],mp[x]['电话'],mp[x]['地址'],mp[x]['qq'],))
61 elif num=="6":
62 break
63 else :
64 print("error")
2、使用函数
1 def w(count):
2 f=open("w.txt","w")
3 f.write(count)
4 f.close()
5
6 def r():
7 f=open("w.txt","r")
8 s=f.read()
9 f.close()
10 return s
11
12 def interface():
13 print("*"*30)
14 print("\t名片管理系统")
15 print("1、增加一个名片")
16 print("2、删除一个名片")
17 print("3、修改一个名片")
18 print("4、查找一个名片")
19 print("5、显示所有名片")
20 print("6、退出系统")
21 print("*"*30)
22
23 if r=='':
24 mp=[]
25 else:
26 mp=eval(r())
27
28 def add_name():
29 add_name=input("请输入要增加名片的姓名:")
30 add_phone=input("请输入要增加名片的电话:")
31 add_address=input("请输入要增加名片的地址:")
32 add_qq=input("请输入要增加名片的qq号码:")
33
34 mpdict={}
35 mpdict["姓名"]=add_name
36 mpdict["电话"]=add_phone
37 mpdict["地址"]=add_address
38 mpdict["qq"]=add_qq
39 mp.append(mpdict)
40 w(str(mp))
41 print("名片增加成功!")
42
43 def del_name():
44 del_phone=input("请输入你要删除名片的电话:")
45 for x in range(len(mp)):
46 if mp[x]['电话']==del_phone:
47 mp.pop(x)
48 break
49 w(str(mp))
50 print("名片删除成功!")
51
52 def change_name():
53 change_phone=input("请输入你要修改名片的电话:")
54 for x in range(len(mp)):
55 if mp[x]['电话']==change_phone:
56 add_name=input("请输入要修改名片的姓名:")
57 add_phone=input("请输入要修改名片的电话:")
58 add_address=input("请输入要修改名片的地址:")
59 add_qq=input("请输入要修改名片的qq号码:")
60 mp[x]["姓名"]=add_name
61 mp[x]["电话"]=add_phone
62 mp[x]["地址"]=add_address
63 mp[x]["qq"]=add_qq
64
65 def find_name():
66 find_phone=input("请输入你要查找名片的电话:")
67 for x in range(len(mp)):
68 if mp[x]['电话']==find_phone:
69 flag=1
70 print("在")
71
72
73 if flag==0:
74 print("不在")
75
76 def display_name():
77 print("系统内所有的名片有:")
78 print("姓名\t电话\t地址\tqq")
79 for x in range(len(mp)):
80 print("%s\t%s\t%s\t%s"
81 %(mp[x]['姓名'],mp[x]['电话'],mp[x]['地址'],mp[x]['qq'],))
82
83 def main():
84 interface()
85 while 1:
86 flag=0
87 num=input("请输入你的选择:")
88 if num == "1":
89 add_name()
90 elif num == "2":
91 del_name()
92 elif num == "3":
93 change_name()
94 elif num == "4":
95 find_name()
96 elif num == "5":
97 display_name()
98 elif num == "6":
99 break
100 else:
101 print("输入有误!")
102
103 main()
学习笔记之Python人机交互小项目二:名片管理系统的更多相关文章
- 学习笔记之Python人机交互小项目一:名字管理系统
2020是一个不平凡的一年,但即使挫折不断,我们每学期的课程实训也没有受到影响,仍旧如期实施.与往年不同的是,今年的实训老师是学校邀请的公司在职人员来给我们实训.今年实训的内容是Python语言,下面 ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Noah的学习笔记之Python篇:命令行解析
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:函数“可变长参数”
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:装饰器
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Vue小项目二手书商城:(一)准备工作、组件和路由
本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接
[学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二
今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
随机推荐
- PyQt学习随笔:重写组件的event方法捕获组件的事件
在PyQt的组件对象中,都有从QWidget中继承的方法event,而QWidget.event是对QObject类定义的虚拟方法event的实现. event方法的语法: bool event(QE ...
- Scrum冲刺_Day07
一.团队展示: 1.项目:light_note备忘录 2.队名:删库跑路队 3.团队成员 队员(不分先后) 项目角色 黄敦鸿 后端工程师.测试 黄华 后端工程师.测试 黄骏鹏 后端工程师.测试 黄源钦 ...
- vue Export2Excel 导出文件
使用需要引入这些js 在src目录下创建一个文件(vendor)进入Blob.js和Export2Excel.js npm install -S file-saver 用来生成文件的web应用程序 n ...
- 【置顶】Trotyl's OI tree
\(\rm thx\):@\(\rm UntilMadow\) ! \(\color{Green}{\rm Pupil}\) :只会一点点 \(\color{blue}{\text{Expert}}\ ...
- IE各版本和Windows的关系
- 设置非root账号不用sudo直接执行docker命令
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring MVC或Spring Boot配置默认访问页面不生效?
相信在开发项目过程中,设置默认访问页面应该都用过.但是有时候设置了却不起作用.你知道是什么原因吗?今天就来说说我遇到的问题. 首先说说配置默认访问页面有哪几种方式. 1.tomcat配置默认访问页面 ...
- Mac电脑完美解决 BasicIPv6ValidationError 问题,通过命令行更改ip设置
在更改mac电脑ip网络时,提示BasicIPv6ValidationError.
- react第四单元(ref与DOM-findDomNode-unmountComponentAtNode)
第四单元(ref与DOM-findDomNode-unmountComponentAtNode) #课程目标 理解react的框架使用中,真实dom存在的意义. 使用真实dom和使用虚拟dom的场景. ...
- C# 学习第七天
P96 面向对象的概念 ①先有的 面向过程 --------> 然后才衍生出面向对象的思想 ②面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作 比如说 把大象塞进冰箱去 ③面向过 ...