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
投稿

猜你喜欢

  • Django rstful登陆认证并检查session是否过期代码实例

    2022-11-04 16:17:15
  • Python线性回归图文实例详解

    2023-04-06 07:31:42
  • go开源项目用户名密码验证的逻辑鬼才写法

    2024-05-08 10:44:20
  • Oracle 插入超4000字节的CLOB字段的处理方法

    2009-07-12 18:52:00
  • vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法

    2024-05-13 09:13:16
  • python递归实现快速排序

    2023-08-26 22:46:27
  • 基于Python Pygame实现的画饼图游戏

    2023-10-25 18:30:23
  • Flask框架利用Echarts实现绘制图形

    2023-01-08 11:52:42
  • Python操作word文档的示例详解

    2021-11-10 02:54:51
  • 简单的Python解密rsa案例

    2022-05-28 07:30:18
  • 基于Django框架的rest_framework的身份验证和权限解析

    2021-02-21 23:42:58
  • Python的进程,线程和协程实例详解

    2021-05-05 04:35:59
  • asp如何读取Windows的信息文件(.ini)?

    2009-11-20 18:27:00
  • BootStrap的select2既可以查询又可以输入的实现代码

    2024-04-28 10:18:41
  • Python pandas之求和运算和非空值个数统计

    2023-11-19 03:04:59
  • 如何更改Linux(CentOS)系统下的MySQL数据库目录位置

    2024-01-24 15:07:00
  • IE下修改<p>标签的innerHTML出错

    2007-11-11 10:12:00
  • jquery的父、子、兄弟节点查找,节点的子节点循环方法

    2023-07-02 05:34:40
  • 白鸦:Design IT. (1),迭代的设计

    2008-08-27 21:11:00
  • Go实现用户每日限额的方法(例一天只能领三次福利)

    2024-05-22 10:20:09
  • asp之家 网络编程 m.aspxhome.com