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通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
python针对excel的操作技巧
Mar 13 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
Django用户认证系统 组与权限解析
Aug 02 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
Mar 11 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
python产生模拟数据faker库的使用详解
Nov 04 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
Nov 17 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
第五节--克隆
2006/11/16 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
小区门卫管理制度
2014/01/29 职场文书
大学信息公开实施方案
2014/03/09 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
办公室文员岗位职责
2015/02/04 职场文书
销售助理岗位职责
2015/02/11 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript