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通过smpt发送邮件的方法
Apr 30 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
Python实现的排列组合计算操作示例
Oct 13 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
Apr 27 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
基于python生成英文版词云图代码实例
May 16 Python
Python识别验证码的实现示例
Sep 30 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
临床医学应届生求职信
2013/11/06 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
创建文明城市标语
2014/06/16 职场文书
贷款委托书怎么写
2014/08/02 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
优秀员工自荐书
2015/03/06 职场文书
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js