python实现名片管理系统


Posted in Python onNovember 29, 2018

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

系统需求

程序启动,显示名片管理系统欢迎界面,并显示功能菜单

**************************************************
欢迎使用【名片管理系统】V1.0
 
1. 新建名片
2. 显示全部
3. 查询名片
 
0. 退出系统
**************************************************

  • 用户用数字选择不同的功能
  • 根据功能选择,执行不同的功能
  • 用户名片需要记录用户的 姓名、电话、QQ、邮件
  • 如果查询到指定的名片,用户可以选择 修改 或者 删除 名片
  • 信息保存本地

需求分析

  • 采用分文件的方式进行开发,主文件cards_main.py复杂业务逻辑,cards_tool.py文件负责具体的功能实现。
  • 新建名片、显示全部、查询名片 对应相应的功能函数。如果代码过长,再进行拆分。
  • 数据结构的选择?一条名片包含多个键值对采用字典数据类型,所有名片信息 采用列表数据结构。
  • 保证名片信息的本地保存和读取使用python的文件操作,进入名片系统先对名信息文件进行读取,在退出名片系统时,将所有名片信息重新写入到名片文件中。

代码实现

代码很简洁,注释太多 容易凌乱。

cards_main.py

import cards_tool
# 主业务逻辑
cards_tool.read_card()
 
 
# 1.显示用户主界面
while True:
 cards_tool.show_menu()
 menu_str = input("请选择执行的操作:")
 print("您选择的功能:%s" % menu_str)
 if menu_str == "1":
  cards_tool.create_card()
 elif menu_str == "2":
  cards_tool.show_card_all()
 elif menu_str == "3":
  cards_tool.search_card()
 elif menu_str == "0":
  cards_tool.write_card()
  break
 else:
  print("输入有误,请重新输入")

cards_tool.py

import os
card_info_all = [] # 所有名片信息
# 名片管理 具体功能
def write_card():
 """退出系统时,将名片信息保存到文件夹中"""
 f = open("E:\\workspace_python\\FirstDemo\\名片管理系统.txt", "w")
 f.write(str(card_info_all))
 f.close()
 
 
def read_card():
 """进入系统时,将名片信息加载到内存中"""
 is_exist = os.path.exists("E:\\workspace_python\\FirstDemo\\名片管理系统.txt")
 if is_exist:
  # 文件存在将信息加载到内存中
  f = open("E:\\workspace_python\\FirstDemo\\名片管理系统.txt","r")
  global card_info_all
  card_info_all = eval(f.read())
  # print(card_info_all)
  f.close()
 else:
  # 没有文件创建空文件
  f = open("E:\\workspace_python\\FirstDemo\\名片管理系统.txt", "w")
  f.close()
 print(is_exist)
 
 
def show_menu():
 """主菜单页面展示"""
 print("*"*30)
 print("欢迎使用[命名管理系统] v1.0")
 print()
 print("1.新建名片")
 print("2.显示全部")
 print("3.查询名片")
 print()
 print("0.退出系统")
 print("*"*30)
 
 
def create_card():
 """新建名片"""
 print("功能:新建名片")
 name = input("请输入姓名:")
 phone = input("请输入电话:")
 qq = input("请输入qq号:")
 email = input("请输入邮箱:")
 card_info = {"name":name,"phone":phone, "qq":qq, "email":email}
 card_info_all.append(card_info)
 print("添加%s的名片成功" % name)
 
 
def show_card_all():
 """显示所有名片"""
 print("功能:显示全部")
 if not len(card_info_all):
  print("没有任何名片")
  return
 print("name".ljust(14),"phone".ljust(14),"qq".ljust(14),"email".ljust(14),sep="")
 print("-"*56)
 for card in card_info_all:
  print(card["name"].ljust(14),card["phone"].ljust(14),card["qq"].ljust(14),card["email"].ljust(14),sep="")
  print("-"*56)
 
 
def search_card():
 """查询名片"""
 print("功能:查询名片")
 name = input("请输入查询的姓名:")
 for card in card_info_all:
  if name == card["name"]:
   print("name".ljust(14), "phone".ljust(14), "qq".ljust(14), "email".ljust(14), sep="")
   print("-" * 56)
   print(card["name"].ljust(14), card["phone"].ljust(14), card["qq"].ljust(14), card["email"].ljust(14),sep="")
   # 名片高级处理
   set_card(card)
   break;
 else:
  print("没有找到%s" % name)
 
 
def set_card(card):
 """名片的高级设置"""
 while True:
  menu = input("请输入对名片的操作:1.修改/ 2.删除/ 0.返回上一级")
  if menu == "1":
   name = input("请输入姓名:")
   phone = input("请输入电话:")
   qq = input("请输入qq号:")
   email = input("请输入邮箱:")
   card["name"] = name
   card["phone"] = phone
   card["qq"] = qq
   card["email"] = email
   print("%s 的名片修改成功" % name)
   return
  elif menu == "2":
   card_info_all.remove(card)
   print("删除名片成功")
   return
  elif menu == "0":
   return
  else:
   print("输入有误,请重新输入")

代码运行结果

python实现名片管理系统

python实现名片管理系统

练习总结

这个小练习主要是对python基础知识的综合运用,入手python 这些基本知识一定要掌握,有过其他编程语言经验的小伙伴是不是感觉很简单。

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

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

Python 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
遗传算法python版
Mar 19 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
运行django项目指定IP和端口的方法
May 14 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
python实现代码统计程序
Sep 19 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 #Python
Python中logging.NullHandler 的使用教程
Nov 29 #Python
Mac下Anaconda的安装和使用教程
Nov 29 #Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 #Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 #Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 #Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 #Python
You might like
PHP 八种基本的数据类型小结
2011/06/01 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
event.srcElement+表格应用
2006/08/29 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
pyenv命令管理多个Python版本
2017/03/26 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python3人脸识别的两种方法
2019/04/25 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
工作迟到检讨书
2014/02/21 职场文书
实验室标语
2014/06/21 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
python实现过滤敏感词
2021/05/08 Python
宝塔更新Python及Flask项目的部署
2022/04/11 Python
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android