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中使用SQLite的简单教程
Apr 29 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
pycharm设置注释颜色的方法
May 23 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
Random 在 Python 中的使用方法
Aug 09 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 Python
Django项目后台不挂断运行的方法
Aug 31 Python
Python进度条的制作代码实例
Aug 31 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
用python爬虫批量下载pdf的实现
Dec 01 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
apache rewrite_module模块使用教程
2008/01/10 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP比你想象的好得多
2014/11/27 PHP
教你php如何实现验证码
2016/01/20 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
javascript实现评分功能
2020/06/24 Javascript
python用plt画图时,cmp设置方法
2018/12/13 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
优秀本科生求职推荐信
2014/02/24 职场文书
丧事主持词大全
2014/04/02 职场文书
项目合作协议书
2014/04/16 职场文书
有关环保的标语
2014/06/13 职场文书
幸福家庭标语
2014/06/27 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
公务员年度考核评语
2014/12/31 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
在Docker容器中部署SQL Server
2022/04/11 Servers