Python二次学習カード4日目——対象向け名刺管理システム


4日目——実戦演習
対象向けの方法で名刺管理システムを書く.
  • 名刺類
  • を作成する
  • システム管理クラス
  • を作成
  • システム管理クラスにおける操作機能
  • を実現する.
  • プログラムの実行後、ユーザが自らシステムを終了することを選択しない限り、機能
  • を繰り返し実行する.
    操作機能は次のとおりです.
  • 名刺
  • を追加
  • 名刺を削除
  • 名刺
  • を修正
  • 問い合わせ名刺
  • システム
  • を終了する
    コードは次のとおりです.
    #      
    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_munu(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_address = input("       ")
            #         ,          
            new_infor = BusinessCard(new_name, new_qq, new_weixin, new_address)
            #            
            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("   !")
                print("  \tQQ\t  \t  " )
                print("%s\t%s\t%s\t%s" % (find_flag.name, find_flag.qq, find_flag.weixin, find_flag.address))
    
        #     
        def delete_card_infors(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_address = input("       :")
                find_flag.qq = new_qq
                find_flag.weixin = new_weixin
                find_flag.address = new_address
                print("    !")
    
        #       
        def show_all_infor(self):
            print("  \tQQ\t  \t  ")
            for temp in self.card_infors:
                print("%s\t%s\t%s\t%s" % (temp.name, temp.qq, temp.weixin, temp.address))
    
        #     
        def begin(self):
            while True:
                #          
                num = int(input("
    :"
    )) # if num == 1: self.add_new_card_infor() elif num == 2: self.delete_card_infors() elif num == 3: self.update_card_infor() elif num == 4: self.find_card_infor() elif num == 5: self.show_all_infor() elif num == 6: break else: print(" , !") # if __name__ == '__main__': mySystem = MySystem() mySystem.print_munu() mySystem.begin()

    締めくくり
    もしいいねをつけて、関心を持ってくれれば、夢コードはここで感謝しきれません.あなたの小さな行為は、確かに私の成長の道に大きな励ましを与えてくれました.