学生選挙システムのpython--オブジェクト指向プログラミングの練習

1、admin.py

  メインの管理システムは、登録のための管理者に初期化され、ログインし、講師を作成し、コースや他の操作を作成します。

!は/ usr / binに/ envをPythonの- * -コーディング:UTF-8 - * - 
"" " 
アナログ学校の選挙システム
" "" 

インポートランダム
 読み込み時間
 インポート  ピクルス
 インポートOSの

#は、教師、クラスの定義
クラスの先生を:
     "" " 
    パッケージ情報の先生
    "" " 
    DEF  __init__ (セルフ、名前、年齢、ADMIN):
        self.name = 名前
        self.age = 年齢
        。自己__assets = 0 
        self.create_time = time.strftime(" %% Y-M- D%のH%:%M:%のS '
        self.create_admin = ADMIN 

    DEF GAIN(セルフ、コスト):
         "" " 
        増加した資産
        :PARAM費用:増加数
        :リターン:
        " "" 
        自己__assets + = コスト

    DEFの減少(セルフ、コスト):
         "" " 
        資産の削減
        :のparamコスト:数削減
        リターン:
        " "" 自己を__assets - = コストの

#は、授業の定義
クラスのコース,:
     " "" 
    コースの情報を
    "" " 
    DEF  __init__ (セルフ、COURSE_NAME、コスト、teacher_obj、管理者):
        self.course_name = 
        管理者ログイン COURSE_NAME
        self.cost = コスト
        self.teacher = teacher_obj 
        self.create_time = time.strftime(' %Y-%M-%D%H:%のM:%のS ' 
        self.create_admin = 管理者


定义管理员类
クラスの管理:
     "" " 
    封装管理员
    """ 
    デフ __init__ (自己):
        self.username = なし
        self.password = なし

    デフログイン(自己、ユーザー
        、PWD):""」
        :のparamユーザー:
        :PARAM PWD: リターン:
        "" " 
        もし self.username ==ユーザー self.password == PWD:
             返す真の
         返すFalseの

    DEF (自己、ユーザー、PWD)レジスタ
        """ 
        管理员注册
        :PARAMユーザー:
        :PARAM PWD: リターン
        ""」
        self.username = ユーザ
        self.password = PWD 

        パス = self.username 
        pickle.dump(自己、オープン(パス、' XB ')) 

は、教師の定義方法を作成します。
デフ create_teacher(admin_objを):
    teacher_list = []
     しばらく真:
        TEACHER_NAME先生 = INPUT(" 教師の名前を入力してください:(Q終了)" のIF TEACHER_NAME先生== " Q " BREAKの
        teacher_age =入力(" 教師の年齢を入力してください:" 
        OBJ = 教師(TEACHER_NAME先生、teacher_age、admin_obj)
        teacher_list.append(OBJ)
        IF os.path.exists(" teacher_list "): は、教師のリストがあるかどうかを判断します
            exists_list = pickle.load(オープン(' teacher_list '' RB ' ))
            teacher_list.extend(exists_list)
        pickle.dump(teacher_list、オープン(' teacher_list '' WB ' )) 

定义创建课程的方法
DEF create_course(admin_obj ):
    teacher_list = pickle.load(オープン(' teacher_list '' RB ' ))
     のために NUM、項目列挙(teacher_list、1 ):
         印刷(NUM、item.name、item.age、item.create_time、item.create_admin.username)
    course_list = []
     しばらく真:
        名前は = INPUT(" コース名を(qは終了)を入力してください:" IF名== " Q " BREAKの
        コスト =入力が(" :クラス料金を入力してください" 
        NUM(=入力を' 先生(ID)を選択します。' 
        OBJ =コース、(名前、コスト、teacher_list [INT(NUM) - 1。]、admin_obj)
        course_list .append(OBJ)
    IF os.path.exists(" Course_list "): は、コースのリストがあるかどうかを判断 
        exists_list = pickle.load(オープン(' course_list '' RB ' ))
        course_list.extend(exists_list)
    pickle.dump(course_list、オープン(' course_list '' WBは' ) )

#は、カリキュラムのメソッドの定義を参照
DEF :()look_course 
    course_list = pickle.load(オープン(' course_list '' RBを' ))
     のために、NUM項目列挙(course_list、1 ):
         印刷(NUMは、item.course_name、item.costは、item.teacher.name、item.create_timeは、item.create_admin.username) 

管理者のログイン方法を定義する
DEFのto_login(ユーザー、PWDを):
     IF os.path.exists(ユーザー):(情報をカプセル化し、ユーザーのログインアクセス要求を提供します)管理者でファイルオブジェクトから読み出し 
        pickle.load =(オープン(ユーザー、admin_obj RB ))
         IF admin_objを。ログイン(PWDユーザー):
             印刷' !ログインに成功' しばらく真:
                SEL = INPUT(" \ n個(qはプログラムを終了)カリキュラムを表示、3 >>>>;カリキュラムを作成し、2 1は、教師を作成します" のIF SEL == ' 1 '#は、教師の作成
                    create_teacher(admin_obj)
                 のelif SEL == ' 2 '#は、コース作成
                    create_course(admin_obj)
                 のelif SEL == ' 3 ' 
                    look_course()
                BREAK 
        他にリターン 1
     戻り値0 

#は、管理者の登録方法を定義します
DEFのto_register(ユーザー、PWD):
    admin_obj = 管理者()
    admin_obj.register(ユーザー、PWD)

DEF メイン():
    のInPは、 INPUT(= " 1、管理者ログインを; 2、管理者の登録; \ nは>>>>> " 
    利用者 =入力(' ユーザ名を入力してください:' 
    PWD =入力(' パスワードを入力してください:' IFのInP == ' 1。' 
        RET = to_login(ユーザー、PWD)
         IF RET 1 ==。 印刷" パスワードが間違っています!のElif RET == 0:
             印刷" ユーザーは存在しません!" 

    のElifのInP == ' 2 ' 
        to_register(ユーザー、PWD)


IF  __name__ == " __main__ " 
    main()の

 

おすすめ

転載: www.cnblogs.com/june-L/p/11741598.html