学习笔记之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#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
随机推荐
- 如何利用Excel快速批量生成想要的代码
如何利用Excel快速批量生成想要的代码 使用场景 在HTML DOM Video 对象这个页面 我想要将所有的中文描述和对应的属性(共32个属性)打印出来--console.log(descript ...
- 从Excel获取整列内容进行批量扫描
实习工作原因,需要测试excel表里面ip地址是否存在漏洞,扫了一眼,呕,四五百个IP,光是挨个进行访问,都是一个浩大的工程,所以准备开始摸鱼认真工作 思路是:excel按列提取->将IP按行存 ...
- Java基础学习之数据类型、基础语法与数组(3)
目录 1.数据类型 1.1.基本数据类型 1.2.引用数据类型 1.3.自动装箱与拆箱 2.基础语法 2.1.标识符 2.2.修饰符 2.2.1.访问控制修饰符 2.2.2.非访问控制修饰符 2.3. ...
- Day6【Scrum 冲刺博客】
每日会议总结 昨天已完成的工作 方晓莹(PIPIYing) 对接住户相关接口 处理token过期重定向.页面跳转.错误状态处理等内容 方子茵(Laa-L) 暂无 黄芯悦(Sheaxx) 完善物业报修页 ...
- 实现一个类型判断函数,需要鉴别出基本类型、function、null、NaN、数组、对象?
只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用 ...
- SnowFlakeldWorker
SnowFlakeldWorker java /** * Twitter_Snowflake * SnowFlake的结构如下(每部分用-分开): * 0 - 0000000000 000000000 ...
- antDesign获取表单组件的值
子组件中: getFormValue是在点击确定按钮获取表单值得事件函数,一旦执行就会执行里边的validate()回调函数 返回的数据中有error和value两种,如果存在error那就是其中某 ...
- jvm基本结构和解析
jvm的基本结构图如下 这只是代表我的个人理解 不是很深刻 欢迎各类大神进行补充和纠正 jvm之所以强大就是因为他从软件层面屏蔽不用操作系统在底层硬件与指令上的区别,从而可以在不同系统上兼容 主要 ...
- 思想无语言边界:以 cglib 介绍 AOP 在 java 的一个实现方式
0. 前言 上接:基于 Source Generators 做个 AOP 静态编织小实验 作为第三篇,我们基于cglib在java做一个简单的aop例子, 以此简单作为例子说一个思路在什么样的语言里面 ...
- 牛客挑战赛46 B
题目链接: 最小的指数 乍一看还以为是Pollard_rho算法,其实大可不必. 发现\(1<= n <= 1e18\),我们可以将n分为两部分(分块思想降低时间复杂度). 剔除小于等于\ ...