名片管理系统——python实现

以面向对象的思想实现一个名牌管理器
‘’‘1、添加名片’’’
‘’‘2、删除名片’’’
‘’‘3、修改名片’’’
‘’‘4、查询名片’’’
‘’‘5、退出系统’’’
‘’'6、程序运行后,除非选择退出系统,否则重复执行功能
根据面向对象的思想,考虑到名片需要具有一些基本属性,因此首先构建名片类。

class BusinessCard(object):
    def __init__(self,name,qq,weixin,address):
        '''初始化属性'''
        self.name = name
        self.qq = qq
        self.weixin = weixin
        self.address = address

class MySystem(object):
    def __init__(self):
        self.card_infors = []
    
    def print_menu(self):
        print("=" * 50)
        print("名片管理系统 V0.01")
        print("1.添加一个新名片")
        print("2.删除一个名片")
        print("3.修改一个名片")
        print("4.查询一个名片")
        print("5.显示所有名片")
        print("6.退出系统")
        print("=" * 50)
    
    def add_new_card_infor(self):
        new_name = input("请输入新的名字:")
        new_qq = input("请输入新的QQ:")
        new_weixin = input("请输入新的微信:")
        new_addr = input("请输入新的地址:")
        
        new_infor = BusinessCard(new_name,new_qq,new_weixin,new_addr)
        
        self.card_infors.append(new_infor)
        print('添加成功!')
        
    def find_card_by_name(self,name):
        find_flag = None
        for temp in self.card_infors:
            if name == temp.name:
                find_flag = temp
                break
        return find_flag
    
    def find_card_infor(self):
        find_name = input("请输入要查找的姓名:")
        find_flag = self.find_card_by_name(find_name)
        
        if find_flag == None:
            print("查无此人...")
        else:
            print("%s\t%s\t%s\t%s"%(find_flag.name,find_flag.qq,find_flag.weixin,find_flag.address))
    
    def delet_card_infor(self):
        find_name = input("请输入要删除信息的姓名:")
        find_flag = self.find_card_by_name(find_name)
        
        if find_flag == None:
            print("查无此人....")
        else:
            self.card_infors.remove(find_flag)
            print('删除成功')
    
    def update_card_infor(self):
        find_name = input("请输入要更新信息的姓名:")
        find_flag = self.find_card_by_name(find_name)
        
        if find_flag == None:
            print("查无此人....")
        else:
            new_qq = input("请输入新的QQ:")
            new_weixin = input("请输入新的微信:")
            new_addr = input("请输入新的地址:")
            
            find_flag.qq = new_qq
            find_flag.weixin = new_weixin
            find_flag.address = new_addr
            print('修改成功!')
        
    def show_all_infor(self):
        print("姓名\tQQ\t微信\t地址")
        for temp in self.card_infors:
            print("%s\t%s\t%s\t%s\t%s"%(temp.name,temp.qq,temp.weixin,temp.address))
    
    def begin(self):
        while True:
            num = int(input("\n请输入操作序号:"))
            if num == 1:
                  self.add_new_card_infor()
            elif num ==2:
                  self.delet_card_infor()
            elif num ==3:
                  self.update_card_infor()
            elif num ==4:
                  self.find_card_infor()
            elif num ==5:
                  self.show_card_infor()
            elif num ==6:
                  break
            else:
                  print("输入有误,请重新输入...")

def main():
    mySystem = MySystem()
    mySystem.print_menu()
    mySystem.begin()
    
“最后调用主函数”
main()