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利用hook技术破解https的实例代码
Mar 25 Python
Python中对列表排序实例
Jan 04 Python
21行Python代码实现拼写检查器
Jan 25 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python3 io文本及原始流I/O工具用法详解
Mar 23 Python
python中shell执行知识点
May 06 Python
使用python如何删除同一文件夹下相似的图片
May 07 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邮件专题
2006/10/09 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python 表格打印代码实例解析
2019/10/12 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python程序如何进行保存
2020/07/03 Python
如何使用Pytorch搭建模型
2020/10/26 Python
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
成品仓管员岗位职责
2013/12/11 职场文书
大学信息公开实施方案
2014/03/09 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python