python名片管理系统开发


Posted in Python onJune 18, 2020

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

利用面向对象的开发方法,开发名片管理系统,要求用文件存储数据

#定义名片类
class Card(object):
 def __init__(self,name,phone,QQ,Email):
  self.name=name
  self.phone=phone
  self.QQ=QQ
  self.Email=Email

 def __str__(self):
  return f"{self.name},{self.phone},{self.QQ},{self.Email}"
#定义名片管理类
class Card_mannager(object):
 def __init__(self):
  self.card_list=[]
#新建名片
 def new_card(self):
  name=input("请输入姓名:")
  phone=input("请输入电话:")
  QQ=input("请输入QQ:")
  Email=input("请输入Email:")
  card=Card(name,phone,QQ,Email)
  self.card_list.append(card)
#显示名片
 def show_card(self):
  if len(self.card_list)>0:
   print("所以名片信息如下:")
   print("")
   for i in self.card_list:
    print("姓名:"+i.name,"电话:"+i.phone,"QQ:"+i.QQ,"Email:"+i.Email)
  else:
   print("没有该联系人信息!")
 #查找名片
 def search_card(self):
  name=input("请输入你要查找的姓名:")
  for i in self.card_list:
   if i.name==name:
    print("查找成功!")
    print("姓名:"+i.name,"电话:"+i.phone,"QQ:"+i.QQ,"Email:"+i.Email)
    print(" ")
    print("-"*80)
    print("1:删除")
    print("2:修改")
    print("0:返回上一级菜单")
    action=int(input("请选择操作功能:"))
    while True:
     if action == 1:
      self.card_list.remove(i)
      self.save_card()
      print("删除成功!")
      break
     elif action==2:
      i.name=input("请输入姓名:")
      i.phone=input("请输入电话:")
      i.QQ=input("请输入QQ:")
      i.Email=input("请输入Email:")
      self.save_card()
      print("修改成功!")
      break
     elif action==0:
      break
     else:
      print("输入有误,请重新输入!")
      break
    break
  else:
   print("没有该联系人信息!")
#保存名片
 def save_card(self):
  flie = open("data.data","w")
  cardlist=[i.__dict__ for i in self.card_list]
  flie.write(str(cardlist))
  flie.close()
#加载名片
 def load_card(self):
  try:
   flie = open("data.data","r")
  except:
   flie = open("data.data","w")
  else:
   data=eval(flie.read())
   if len(data)>0:
    for i in data:
     card=Card(i["name"],i["phone"],i["QQ"],i["Email"])
     self.card_list.append(card)
  finally:
   flie.close()
#菜单
 @staticmethod
 def show_menu():
  print("*"*80)
  print("欢迎使用【名片管理系统】V2.0")
  print()
  print("1.新建名片")
  print("2.显示全部名片")
  print("3.查询名片")
  print()
  print("0.退出系统")
  print("*"*80)

 def run(self):
  self.load_card()
  while True:
   self.show_menu()
   action=int(input("请选择操作功能:"))
   print("您的选择是:{0}".format(action))
   if action==1:
    self.new_card()
    self.save_card()
    print("添加成功!")
   elif action==2:
    self.show_card()
   elif action==3:
    self.search_card()
   elif action==0:
    print("欢迎再次使用!")
    break
   else:
    print("输入有误,请重新输入!")

if __name__=="__main__":
 A=Card_mannager()
 A.run()

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

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

Python 相关文章推荐
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
详解Golang 与python中的字符串反转
Jul 21 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
Python使用python-docx读写word文档
Aug 26 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
python关于集合的知识案例详解
May 30 Python
python 网络编程要点总结
Jun 18 Python
一文轻松掌握python语言命名规范规则
Jun 18 #Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 #Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 #Python
Python Switch Case三种实现方法代码实例
Jun 18 #Python
Python3开发环境搭建详细教程
Jun 18 #Python
Python collections.defaultdict模块用法详解
Jun 18 #Python
python实现批量命名照片
Jun 18 #Python
You might like
PHP生成短网址方法汇总
2016/07/12 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
学习python可以干什么
2019/02/26 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
PyQt5实现简单的计算器
2020/05/30 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
青年文明号事迹材料
2014/01/18 职场文书
高一地理教学反思
2014/01/18 职场文书
高一政治教学反思
2014/01/28 职场文书
顶碗少年教学反思
2014/02/21 职场文书
《故乡》教学反思
2014/04/10 职场文书
小学生常见病防治方案
2014/06/06 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers