E3 2021:卡牌類Roguelike遊戲《Inscryption》預告片 今年發售
阿新 • • 發佈:2021-06-13
import pickle class Course(object): def __init__(self, name, price, period): self.name = name self.price = price self.period = period class Student(object): def __init__(self, name): self.name = name self.classes = [] def show_courses(self): pass def choose_course(self): pass def show_selected(self): pass def exit(self): pass class Manager(object): opt_list = [('建立課程', 'create_course'), ('建立學生', 'create_student'), ('檢視課程', 'show_courses'), ('檢視學生', 'show_students'), ('檢視學生和已選課程', 'show_stu_course'), ('退出', 'exit')] def __init__(self, name): self.name = name def create_course(self): pass def create_student(self): user = input('usename: ') pwd = '123456' stu = Student(user) ''' ??????????????????????????????????????????????????????????? 重複建立問題 ''' with open('userInfo', mode='a', encoding='utf-8') as f: print(f'{user}|{pwd}|student', file=f) with open('studentInfo', mode='ab') as f: pickle.dump(stu, f) print(f'學生{user}建立成功') ''' ??????????????????????????????????????????????????????????? 打log問題,***老師在***時間建立了學生*** ''' def show_courses(self): pass def show_students(self): pass def show_stu_course(self): pass def exit(self): pass def login(): ''' None :return: 登陸成功,返回使用者名稱和身份;否則,返回false ''' username = input('username:') password = input('password:') with open('userinfo') as f: for line in f: user, pwd, ident = line.strip().split('|') if username == user and password == pwd: return username, ident return False ret = login() if ret: print(f'登入成功,{ret[0]}歡迎使用選課系統') if ret[1] == 'manager': m = Manager(ret[0]) for i, opt in enumerate(Manager.opt_list, 1): print(i, opt[0]) num = int(input('您需要選擇的操作:')) if hasattr(m, Manager.opt_list[num-1][1]): getattr(m, Manager.opt_list[num-1][1])() else: print('登陸失敗')