学习笔记之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#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
随机推荐
- 第14.7节 Python模拟浏览器访问实现http报文体压缩传输
一. 引言 在<第14.6节 Python模拟浏览器访问网页的实现代码>介绍了使用urllib包的request模块访问网页的方法.但上节特别说明http报文头Accept-Encodin ...
- 数组的翻转(非reverse)
var arr = [1, 5, 8, 9, 6, 3]; var arr2 = []; while (arr.length) { var temp = arr.pop(); arr2.push(te ...
- windows安装程序无法将windows配置为在此计算机上运行
----------------------------------------------- 解决办法: 当出现如上提示的时候,按下shift+f10 会打开命令窗口,进入到C:\windows\s ...
- JavaScript:浏览器的本地存储
cookie.localStorage.sessionStorage的使用 <!DOCTYPE html> <html lang="en"> <hea ...
- 冰点文库下载器v3.2.13绿色版
冰点文库下载器,免费下载文档工具,无需积分也无需登陆就能自由下载百度文库.豆丁网.丁香网.电器网.MBAlib智库.爱问文档.畅享.IT168.HP009.MAX.Book118.道客巴巴.金字塔医学 ...
- Java安全之原生readObject方法解读
Java安全之原生readObject方法解读 0x00 前言 在上篇文章分析shiro中,遇到了Shiro重写了ObjectInputStream的resolveClass导致的一些基于Invoke ...
- Bootstrap 的基本使用
一.Bootstrap简介 Bootstrap 是目前受欢迎的前端框架之一,是基于HTML,CSS,JavaScript的,它简洁灵活,使web开发更加快捷 中文官网:http://www.bootc ...
- Python的基本介绍
我认为Python打破了传统语言的各种细节,让我对编程语音有了全新认识 Python的优势: 可移植性高,解释性更加简单,这两点在编程语言发展到现在已经成为不可或缺的一部分,而很多种编程语言能做到这几 ...
- 淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
上一篇的同学拿到了bigo和腾讯的offer,这一次的分享来自两位同学的面试综合,他们分别拿到了菜鸟.嘀嘀.盒马的多个offer,由于面试的时间跨度时间太长,且面试的部门太多,只能回忆到具体的面试题, ...
- 安卓 Android Studio 下载
http://www.android-studio.org/ 下载地址 https://blog.csdn.net/qq_41976613/article/details/91432304 ...