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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
python dict remove数组删除(del,pop)
Mar 24 Python
Python标准库内置函数complex介绍
Nov 25 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Python基于template实现字符串替换
Nov 27 Python
python os.rename实例用法详解
Dec 06 Python
Python基础之操作MySQL数据库
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+javascript模拟Matrix画面
2006/10/09 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
JS实现小米轮播图
2020/09/21 Javascript
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
详解Python 正则表达式模块
2018/11/05 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
印度购物网站:TATA CLiQ
2017/11/23 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
经济信息系毕业生自荐信
2014/06/02 职场文书
功夫熊猫观后感
2015/06/10 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL
移除Selenium中window.navigator.webdriver值
2022/06/10 Python