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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python自动化测试工具Splinter简介和使用实例
May 13 Python
详解Python迭代和迭代器
Mar 28 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
python requests爬取高德地图数据的实例
Nov 10 Python
Python玩转Excel的读写改实例
Feb 22 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
Python:__eq__和__str__函数的使用示例
Sep 26 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数据流应用的简单例子
2012/06/01 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
python实现学生通讯录管理系统
2021/02/25 Python
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
高一历史教学反思
2014/01/13 职场文书
医学类个人求职信范文
2014/02/05 职场文书
课外活动总结
2015/02/04 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
费用申请报告范文
2015/05/15 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
MySQL Server 层四个日志
2022/03/31 MySQL