pythonで簡単な学生管理システムを書く

7741 ワード

要件は次のとおりです.
1.入力内容を循環できる2.ディスプレイ機能
  • 新規名刺
  • を表示
  • 問い合わせ名刺
  • システム
  • を終了する
    3.ユーザに実行する操作、例えば1,2,3,0 4を入力させる.新規リスト
  • ユーザーに名前の入力を促す
  • 入力電話
  • 入力qq号
  • 入力メールボックス
  • は、名刺の追加に成功したことを示します.5.全
  • を表示
  • すべての名刺を印刷します.フォーマットは以下の通りです.
  •    			  			QQ			          
     zs				110				1337765076			[email protected]
    

    6.名刺照会
  • 検索するユーザーの名前を入力してください
  • ユーザーが存在する場合->ユーザーの情報を表示する-ユーザーに【1】修正を促す【2】削除【0】前のレベルのメニューに戻るには、実行するアクションを選択します.-操作を変更して、ユーザー名、電話、qq、メールボックスを変更することができます.-ユーザーを削除します.-前のレベルの操作に戻り、ウェルカムインタフェースに戻り、ユーザーに操作を続行させます.
  • ユーザーが存在しない場合->検索を求めるユーザーは存在しません.


  • 考え方は以下の通りである.
    1.入力内容を循環できる
    これはメインプログラムでwhileループで実現できます
    2.展示機能
    出力表示インタフェースを定義する関数
    def display_function():
        print("1.    
    2.
    3.
    0. ")

    3.ユーザに実行したい操作、例えば1,2,3,0を入力させる
    メインプログラムにユーザ入力を受信する関数を設定し、受信内容を判断して他の機能関数にジャンプすることができます.
    4.新規リスト
    新しいリストの関数を定義します
    def add_list():
    
  • ユーザーに名前の入力を促す
  • 	user_name = input("      :")
    
  • 入力電話
  •  	user_phone = input("      :")
    
  • 入力qq号
  • 	user_qq = input("    qq :")
    
  • 入力メールボックス
  • 	user_email = input("      :")
    
  • ヒント名刺の追加成功
  • print("      !")
    

    最後に、これらの関数内のコードを統合し、ユーザーが入力した内容を保存して呼び出します.
    def add_list():
        user_name = input("      :")
        user_phone = input("      :")
        user_qq = input("    qq :")
        user_email = input("      :")
        dic = {}
        dic['  '] = user_name
        dic['  '] = user_phone
        dic['qq'] = user_qq
        dic['  '] = user_email
        user_card.append(dic)
        print("      !")
    

    5.すべて表示
    すべての名刺を印刷する必要があります.同様に、すべてを表示する関数を定義します.
    def print_all_card():
    

    リストを出力します.
    	print("  \t\t\t\t  \t\t\t\tqq\t\t\t\t  \t\t\t\t")
    

    次に、ユーザーの情報を出力します.私たちが作成したユーザーデータを格納するデータ型は配列と辞書なので、配列を巡り、ユーザーデータを辞書から取り出して出力します.同時に、位置合わせに注意する必要があります.
        for i in range(0, len(user_card)):
            print("{:<16}{:<16}{:<16}{:<16}".format(user_card[i]['  '], user_card[i]['  '], user_card[i]['qq'],
                                                    user_card[i]['  ']))
    

    6.名刺照会
    この段落は段落全体で最も難しいものであり、最後の機能でもあります.前と同じように、まず名刺を検索する関数を定義します.
    def find_card():
    	
    
  • プロンプト検索するユーザーの名前を入力してください
  • 	find_user_name = input("             :")
    
  • ユーザーが存在する場合->ユーザーの情報を表示するには、ここでカウンタを追加する必要があります.これにより、データベースにユーザーが見つかったかどうかを判断し、ユーザーが見つかったときの要素のインデックスを保存し、
  • を使用します.
    	find_num = 0
        can_not_find=0
        for i in user_card:
            if i['  '] == find_user_name:
                find_num = user_card.index(i)
                print("   ,    ")
                print(i)
                can_not_find=1
                break
    
  • ユーザーに【1】修正【2】削除【0】前のレベルのメニューに戻るように要求します.実行する操作を選択してください.
  •     inp_find = int(input("【1】  
    【2】
    【3】 "))
  • 修正操作、ユーザー名、電話、qq、メールボックスを修正することができます.
  •     if inp_find == 1:
            user_change_key = input("          :")
            user_change_value = input("           :")
            user_card[find_num][user_change_key] = user_change_value
            print("    !")
            print(user_card[find_num])
    
  • 削除操作は、ユーザを削除する.
  •     elif inp_find == 2:
            del user_card[find_num]
            print("    !")
            print_all_card()
    
  • は、前のレベルの操作に戻り、ウェルカムインタフェースに戻り、ユーザーに操作を継続させる.
  •     elif inp_find == 3:
            return display_function()
    

    最後に整理すると、この機能を実現する関数です
    def find_card():
        find_user_name = input("             :")
        find_num = 0
        can_not_find = 0
        for i in user_card:
            if i['  '] == find_user_name:
                find_num = user_card.index(i)
                print("   ,    ")
                print(i)
                can_not_find = 1
                break
        if can_not_find == 0:
            print("         !")
            return find_card()
        inp_find = int(input("【1】  
    【2】
    【3】 ")) if inp_find == 1: user_change_key = input(" :") user_change_value = input(" :") user_card[find_num][user_change_key] = user_change_value print(" !") print(user_card[find_num]) elif inp_find == 2: del user_card[find_num] print(" !") print_all_card() elif inp_find == 3: return display_function()

    各機能の接続
    学生管理システムの需要は、基本的に満足しており、次はメインプログラムを書いて、各機能を実現する関数をつなぎ合わせます.ただし、メイン関数ではuser_を宣言します.cardはグローバル変数で少し問題があるようなので、私の後ろは最外層で定義したuser_です.card、main_code()呼び出し前に定義されたuser_card.後で何か問題があるかどうか見てから直してください.
    def main_code():
        while 1:
            display_function()
            user_doing = int(input("           :"))
            if user_doing == 1:
                add_list()
            elif user_doing == 2:
                print_all_card()
            elif user_doing == 3:
                find_card()
            elif user_doing == 0:
                print("    !")
                break
        return
    
    

    最後に完了したコードは次のとおりです.
    def display_function():
        print("1.    
    2.
    3.
    0. ") def add_list(): user_name = input(" :") user_phone = input(" :") user_qq = input(" qq :") user_email = input(" :") dic = {} dic[' '] = user_name dic[' '] = user_phone dic['qq'] = user_qq dic[' '] = user_email user_card.append(dic) print(" !") def print_all_card(): print(" \t\t\t\t \t\t\t\tqq\t\t\t\t \t\t\t\t") for i in range(0, len(user_card)): # print_kwargs(**user_card[i]) print("{:<16}{:<16}{:<16}{:<16}".format(user_card[i][' '], user_card[i][' '], user_card[i]['qq'], user_card[i][' '])) def find_card(): find_user_name = input(" :") find_num = 0 can_not_find = 0 for i in user_card: if i[' '] == find_user_name: find_num = user_card.index(i) print(" , ") print(i) can_not_find = 1 break if can_not_find == 0: print(" !") return find_card() inp_find = int(input("【1】
    【2】
    【3】 ")) if inp_find == 1: user_change_key = input(" :") user_change_value = input(" :") user_card[find_num][user_change_key] = user_change_value print(" !") print(user_card[find_num]) elif inp_find == 2: del user_card[find_num] print(" !") print_all_card() elif inp_find == 3: return display_function() def main_code(): while 1: display_function() user_doing = int(input(" :")) if user_doing == 1: add_list() elif user_doing == 2: print_all_card() elif user_doing == 3: find_card() elif user_doing == 0: print(" !") break return user_card = [] main_code()