学习笔记之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#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
随机推荐
- MySQL(14)---Docker搭建MySQL主从复制(一主一从)
Docker搭建MySQL主从复制(一主一从) 上一篇博客写了MYSQL主从复制原理 : MySQL(13)---MYSQL主从复制原理 这篇我们来写 Docker搭建MYSQL主从复制(一主一从) ...
- EF CodeFirst多个数据摸型映射到一张表与各一张表
1. 多个实体映射到一张表 Code First允许将多个实体映射到同一张表上,实体必须遵循如下规则: 实体必须是一对一关系 实体必须共享一个公共键 我们通常有这样的需求,如:同一基类派生出的不同数据 ...
- 【题解】「SP867」 CUBES - Perfect Cubes
这道题明显是一道暴力. 暴力枚举每一个 \(a, b, c, d\) 所以我就写了一个暴力.每个 \(a, b, c, d\) 都从 \(1\) 枚举到 \(100\) #include<ios ...
- 03_py
3.1 在编程的语境下,函数 (function) 是指一个有命名的.执行某个计算的语句序列 (se-quence of statements) .在定义一个函数的时候,你需要指定函数的名字和语句序列 ...
- nginx配置访问本地资源
参考博客:https://www.cnblogs.com/xy51/p/9973326.html 需要访问路径:http://IP:10013/p1upgrade/picfiles/image73b4 ...
- Docker 安装 Redis 需要注意的地方
Docker 安装 Redis 需要注意的地方 拉取镜像 docker pull redis 可以使用redis:xxx xxx为版本号,不写默认是latest 启动容器 无配置文件无密码: dock ...
- 【Jmeter Linux环境下运行方法】
Jmeter 运行 1.cd jmeter/apache-jmeter-4.0/bin 2.执行 ./jmeter -n -t jmx脚本文件 -l 测结果.jtl文件 -e -o html文件路径 ...
- jenkins配置--上传代码,定时执行用例,发送测试报告
1.安装条件:jdk1.8以上的,百度jenkin进入官网--download ,根据需要的版本下载 2.jenkins概念:持续集成,jenkins开源属于插件式形式进行管理的,选择性的装插件,支持 ...
- Flink读写Redis(二)-flink-redis-connector代码学习
源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configur ...
- 03-flask-视图函数基础
代码 from flask import Flask, request, url_for, jsonify, redirect # 创建Flask对象 app = Flask(__name__) @a ...