1. 程式人生 > 遊戲 >E3 2021:卡牌類Roguelike遊戲《Inscryption》預告片 今年發售

E3 2021:卡牌類Roguelike遊戲《Inscryption》預告片 今年發售

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('登陸失敗')