python面向对象实现名片管理系统文件版


Posted in Python onApril 26, 2019

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

import os
def print_menu():
 print("*"*50)
 print("  名片管理系统")
 print("  1.添加一个新名片")
 print("  2.删除一个名片信息")
 print("  3.修改一个名片信息")
 print("  4.查找一个名片信息")
 print("  5.显示添加过的名片信息")
 print("  6.保存添加的名片信息")
 print("  7.退出系统")
 print("*"*50)
card_infor = []
def add_new_card_infor():
 new_name = input("请输入要添加的名字:")
 new_qq = input("请输入Qq:")
 new_weixin = input("请输入微信号:")
 new_position = input("请输入工作职位")
 new_addr = input("请输入工作地址")
 """创建一个字典来存放添加的内容"""
 new_infor = {}
 new_infor['name'] = new_name
 new_infor['qq'] = new_qq
 new_infor['weixin'] = new_weixin
 new_infor['position'] = new_position
 new_infor['addr'] = new_addr
 """将字典刚入一个列表中"""
 global card_infor
 card_infor.append(new_infor)
def del_card_infor():
 del_name =input("请输入要删除的名片")

 global card_infor
 for temp in card_infor:
  if del_name == temp['name']:
   print("删除的名片如下")
   card_infor.remove(temp)
   print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
  else:
   print("不存在")
   return del_card_infor()
def change_care_infor():
 change_name_card = input("请输入需要修改的名片名字")
 global card_infor
 for temp in card_infor:
  if change_name_card == temp['name']:
   new_name = input("请输入要修改的名字")
   new_qq = input("请输入要修改的qq")
   new_weixin = input("请输入要修改的微信")
   new_position = input("请输入要修改的职业")
   new_addr = input("请输入要修改的地址")
   temp['name'] = new_name
   temp['qq'] = new_qq
   temp['weixin'] = new_weixin
   temp['position'] = new_position
   temp['addr'] = new_addr
   print("修改成功")
   break
  else:
   print("您要修改的名片不存在")

def find_card_infor():
 global card_infor
 find_name = input("请输入要在查找的内容\n")
 find = 0
 for temp in card_infor:
  if find_name == temp['name']:
   print("查询成功\n")
   print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
   find = 1
   break
  else:
   print("您要查询的名片不存在,请重新输入")
   return find_card_infor()
def display_card_infor():
 global card_infor
 print("姓名\t\tQQ\t\t微信\t\t工作\t\t住址")
 for temp in card_infor:
  print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
def save_card_infor():
 global card_infor
 f = open("save_card.data","w")
 f.write(str(card_infor))
 f.close()
def load_card_infor():
 """恢复保存的信息"""
 global card_infor
 try:
  f = open('save_card.data')
  card_infor = eval(f.read())
  f.close()
 except Exception:
  pass
def main():
 load_card_infor()
 """把恢复保存的信息加载到程序中"""
 print_menu()
 """加载首页操作页面"""
 while True:
  num = int(input("请输入你要选择的功能序号"))
  if(num==1):
   add_new_card_infor()
  elif(num==2):
   del_card_infor()
  elif(num==3):
   change_care_infor()
  elif(num==4):
   find_card_infor()
  elif(num==5):
   display_card_infor()
  elif(num==6):
   save_card_infor()
  elif(num==7):
   break
  else:
   print("输入有误,请重新输入")
  print()
if __name__ == "__main__":
 main()

运行界面

python面向对象实现名片管理系统文件版

python面向对象实现名片管理系统文件版

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

Python 相关文章推荐
如何使用七牛Python SDK写一个同步脚本及使用教程
Aug 23 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
使用python绘制常用的图表
Aug 27 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
通过实例了解python property属性
Nov 01 Python
python常用数据重复项处理方法
Nov 22 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
详解python tcp编程
Aug 24 Python
Python判断对象是否为文件对象(file object)的三种方法示例
Apr 26 #Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 #Python
浅谈python新式类和旧式类区别
Apr 26 #Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 #Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 #Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 #Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 #Python
You might like
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
用ADODB.Stream转换
2007/01/22 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
利用python实现数据分析
2017/01/11 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
台湾家适得:Homeget
2019/02/11 全球购物
如何写你的创业计划书
2014/01/07 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
有关环保的标语
2014/06/13 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
红与黑读书笔记
2015/06/29 职场文书
庆七一晚会主持词
2015/06/30 职场文书
初中语文教学随笔
2015/08/15 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
Python OpenCV实现图形检测示例详解
2022/04/08 Python