好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python名片管理系统开发

本文实例为大家分享了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名片管理系统开发的详细内容...

  阅读:16次