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生成器的使用方法
Nov 21 Python
python基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
2款Python内存检测工具介绍和使用方法
Jun 01 Python
python小技巧之批量抓取美女图片
Jun 06 Python
python进阶教程之函数参数的多种传递方法
Aug 30 Python
从Python的源码来解析Python下的freeblock
May 11 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
Django xadmin开启搜索功能的实现
Nov 15 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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
win7安装php框架Yii的方法
2016/01/25 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
理理Vue细节(推荐)
2019/04/16 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
JS随机密码生成算法
2019/09/23 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
python获取中文字符串长度的方法
2018/11/14 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
python中的unittest框架实例详解
2021/02/05 Python
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
自我鉴定范文300字
2013/10/01 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
2015年妇女工作总结
2015/05/14 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
JS封装cavans多种滤镜组件
2022/02/15 Javascript