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同时兼容python2和python3的8个技巧分享
Jul 11 Python
python多线程编程中的join函数使用心得
Sep 02 Python
在Django框架中设置语言偏好的教程
Jul 27 Python
Python实现将xml导入至excel
Nov 20 Python
python中list列表的高级函数
May 17 Python
详解python开发环境搭建
Dec 16 Python
Python实现修改IE注册表功能示例
May 10 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
利用python修改json文件的value方法
Dec 31 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
Python安装与基本数据类型教程详解
May 29 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 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
我的论坛源代码(三)
2006/10/09 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
Javascript select下拉框操作常用方法
2009/11/09 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
python生成器表达式和列表解析
2016/03/10 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
python滑块验证码的破解实现
2019/11/10 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
C语言基础笔试题
2013/04/27 面试题
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
松材线虫病防治方案
2014/06/15 职场文书
初中学习计划书范文
2014/09/15 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis