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()の