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 10 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Python读写Json涉及到中文的处理方法
Sep 12 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
python实现定时发送qq消息
Jan 18 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
关于python的缩进规则的知识点详解
Jun 22 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 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
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
Python语法快速入门指南
2015/10/12 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
金融专业个人求职信范文
2013/11/28 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
触摸春天教学反思
2014/02/03 职场文书
兴趣小组活动总结
2014/05/05 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
员工升职自荐信
2015/03/27 职场文书
道士塔读书笔记
2015/06/30 职场文书
MySQL注入基础练习
2021/05/30 MySQL
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python