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 网络编程起步(Socket发送消息)
Sep 06 Python
对python产生随机的二维数组实例详解
Dec 13 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
Python面向对象思想与应用入门教程【类与对象】
Apr 12 Python
python Pillow图像处理方法汇总
Oct 16 Python
Python异常模块traceback用法实例分析
Oct 22 Python
python列表推导式操作解析
Nov 26 Python
Django 返回json数据的实现示例
Mar 05 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
pytorch SENet实现案例
Jun 24 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
Python网络编程之ZeroMQ知识总结
Apr 25 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
全面分析Python的优点和缺点
2018/02/07 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
python获取txt文件词向量过程详解
2019/07/05 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Python实现简单的2048小游戏
2021/03/01 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
英文求职信结束语大全
2013/10/26 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android