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读取word文本操作详解
Jan 22 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
Jun 20 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
Flask配置Cors跨域的实现
Jul 12 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 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
php程序之die调试法 快速解决错误
2009/09/17 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
php可变长参数处理函数详解
2017/02/22 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
对Python中plt的画图函数详解
2018/11/07 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
深入了解Python 变量作用域
2020/07/24 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
关于礼仪的演讲稿
2014/01/04 职场文书
高一数学教学反思
2014/02/07 职场文书
工作违纪检讨书
2014/02/17 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python