python名片管理系统开发

作者:程序员不掉发 时间:2022-06-25 13:43:47 

本文实例为大家分享了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()

更多学习资料请关注专题《管理系统开发》。

来源:https://blog.csdn.net/weixin_42472371/article/details/103868785

标签:python,名片,管理系统
0
投稿

猜你喜欢

  • 如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱

    2022-07-03 20:51:47
  • 关于鼠标、键盘的几个事件的例子

    2008-07-27 17:00:00
  • python实现unicode转中文及转换默认编码的方法

    2021-05-02 22:19:59
  • 在Python web中实现验证码图片代码分享

    2022-05-29 05:32:50
  • asp之自动闭合HTML/ubb标签函数 附简单注释

    2011-02-28 11:24:00
  • 2003年至今网页尺寸增长3倍

    2008-04-29 19:27:00
  • np.array()函数的使用方法

    2022-07-08 08:21:05
  • matplotlib 对坐标的控制,加图例注释的操作

    2021-06-12 16:28:46
  • 一个css与js结合的下拉菜单支持主流浏览器

    2023-07-18 01:28:20
  • windows下python安装pip图文教程

    2023-11-18 19:27:20
  • PyQt5实现进度条与定时器及子线程同步关联

    2023-03-20 14:48:35
  • python Crypto模块的安装与使用方法

    2022-09-17 15:19:01
  • python numpy 按行归一化的实例

    2023-04-29 09:14:53
  • python中的反斜杠问题深入讲解

    2023-04-20 14:08:36
  • 使用Python脚本来获取Cisco设备信息的示例

    2023-05-26 22:27:20
  • 基于Python+Pygame实现变异狗大战游戏

    2021-04-19 09:46:45
  • shell命令行,一键创建 python 模板文件脚本方法

    2023-08-03 18:33:26
  • python 通过 socket 发送文件的实例代码

    2022-10-07 17:32:48
  • 使用pyecharts在jupyter notebook上绘图

    2021-03-17 01:48:35
  • 解读HTML:大厦的基石

    2008-12-01 12:57:00
  • asp之家 网络编程 m.aspxhome.com