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命令行参数sys.argv使用示例
Jan 28 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
python实现超简单的视频对象提取功能
Jun 04 Python
使用Scrapy爬取动态数据
Oct 21 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
Pandas加速代码之避免使用for循环
May 30 Python
Python初学者必备的文件读写指南
Jun 23 Python
python接口测试返回数据为字典取值方式
Feb 12 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新手上路(六)
2006/10/09 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
python安装与使用redis的方法
2016/04/19 Python
windows下ipython的安装与使用详解
2016/10/20 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
日语专业个人求职信范文
2014/02/02 职场文书
党员政治学习材料
2014/05/14 职场文书
高效课堂标语
2014/06/26 职场文书
补充协议书
2015/01/28 职场文书
《1942》观后感
2015/06/08 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android