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 相关文章推荐
python计数排序和基数排序算法实例
Apr 25 Python
跟老齐学Python之数据类型总结
Sep 24 Python
深入理解Django的中间件middleware
Mar 14 Python
pandas 数据实现行间计算的方法
Jun 08 Python
解读python如何实现决策树算法
Oct 11 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
django框架中间件原理与用法详解
Dec 10 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
python环境下安装opencv库的方法
Mar 05 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 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图片上传程序
2008/03/27 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
PHP的加密方式及原理
2012/06/14 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
php网页病毒清除类
2014/12/08 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
文秘专业自荐信
2013/10/14 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
预备党员考察意见范文
2015/06/01 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
Nginx源码编译安装过程记录
2021/11/17 Servers