名片管理系统python版


Posted in Python onJanuary 11, 2018

本文实例为大家分享了python名片管理系统的具体代码,供大家参考,具体内容如下

import os
list_all = []


def page():
 """输出主页面"""
 print("*" * 30)
 print("欢迎使用[名片管理系统]v2.0")
 print()
 print("1.新建名片")
 print("2.查看全部")
 print("3.查询名片")
 print("4.保存信息")
 print()
 print("0.退出系统")
 print("=" * 30)


def new_cards():
 """接收用户输入的信息保存至字典"""
 dict_1 = {"name": input("姓名:"),
  "age": input("年龄:"),
  "phone": input("电话:"),
  "email": input("邮箱:")}
 # 将字典添加至列表
 list_all.append(dict_1)


def check_all():
 """将所有的字典信息进行打印"""
 if len(list_all) > 0:
 print("姓名\t\t年龄\t\t电话\t\t邮箱")
 for i in list_all:
  print("%s\t\t%s\t\t%s\t\t%s" % (i["name"], i["age"],
      i["phone"], i["email"]))
 else:
  print("还没有任何信息")


def check_cards():
 """查询名片"""
 user = input("请输入要查询的姓名:")
 for i in list_all: # 遍历全局列表,将存入的字典依次取出
 if i['name'] == user: # 如果字典的值跟用户搜索的值相同打印字典
  print("姓名\t\t年龄\t\t电话\t\t邮箱")
  print("%s\t\t%s\t\t%s\t\t%s" % (i["name"], i["age"],
      i["phone"], i["email"]))
  revise_cards(i)
 else:
  print("没有查询到您搜索的信息")


def revise_cards(dict_1):
 """修改名片,接收之前已经查到的字典"""
 while True:
 user_choor = input("1.修改名片 2.删除名片 0.返回主菜单")
 if user_choor == "1": # 如果用户输入1执行修改功能
  print("修改名片,注:修改直接输入修改内容,回车不修改")
  dict_1["name"] = revise(dict_1["name"], input("姓名"))
  dict_1["age"] = revise(dict_1["age"], input("年龄"))
  dict_1["phone"] = revise(dict_1["phone"], input("电话"))
  dict_1["email"] = revise(dict_1["email"], input("邮箱"))
  print("修改成功")
  break
 # laturn
 elif user_choor == "2": # 如果输入2删除字典
  list_all.remove(dict_1)
  print("删除名片成功")
  break
 elif user_choor == "0":
  break
 else:
  print("输入错误请重新输入")


def revise(old, new):
 """实现回车不修改的功能"""
 if len(new) <= 0:

 return old
 else:
 return new


def save_dir():
 """将文件保存至指定文件"""
 a = open("123.xlsx", "w")
 a.write(str(list_all))
 a.close()
 print("保存成功")


def read_dir():
 """读取文件"""
 if os.path.exists("123.data"):
 a = open("123.data", "r")
 b = eval(a.read())
 global list_all
 list_all = b
 a.close()
import cards_tools
# 读取文件
cards_tools.read_dir()
while True:
 cards_tools.page()
 user_input = input("请选择您要执行的操作")
 if user_input == "1":
 print("即将执行:新建名片")
 cards_tools.new_cards()
 elif user_input == "2":
 print("即将执行:查看全部")
 cards_tools.check_all()
 elif user_input == "3":
 print("即将执行:查询名片")
 cards_tools.check_cards()
 elif user_input == "4":
 print("即将执行:保存信息")
 cards_tools.save_dir()
 elif user_input == "0":
 print("欢迎下次使用[名片管理系统]")
 exit()
 else:
 print("你的输入有误,请重新输入")

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用IPython提高开发效率
Aug 10 Python
Python实现修改IE注册表功能示例
May 10 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
使用python绘制二元函数图像的实例
Feb 12 Python
python替换字符串中的子串图文步骤
Jun 19 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
Django 自动生成api接口文档教程
Nov 19 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
python3 实现调用串口功能
Dec 26 Python
python 绘制国旗的示例
Sep 27 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
Python学生成绩管理系统简洁版
Apr 05 #Python
Python实现学校管理系统
Jan 11 #Python
Python实现GUI学生信息管理系统
Apr 05 #Python
使用python 爬虫抓站的一些技巧总结
Jan 10 #Python
python版学生管理系统
Jan 10 #Python
python实现用户管理系统
Jan 10 #Python
python的Tqdm模块的使用
Jan 10 #Python
You might like
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
php经典算法集锦
2015/11/14 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
Python导出DBF文件到Excel的方法
2015/07/25 Python
python中的tcp示例详解
2018/12/09 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
幼儿园课题方案
2014/06/09 职场文书
公务员政审材料范文
2014/12/23 职场文书
Go归并排序算法的实现方法
2022/04/06 Golang
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL