def update_grade(teacher_id): student_lst = TeacherCtrl.print_student(teacher_id) n = int(input("输入学生编号:").strip()) student = student_lst[n] student_id = getattr(student, 'id') course_id = Util.choose_class_course(getattr(student, 'class_id')) grade = int(input("输入分数:").strip()) db_name = "student" lst = Util.read_data(db_name) for student in lst: if getattr(student, 'id') == student_id: if hasattr(student, 'grades'): grades = getattr(student, 'grades') else: grades = [] for item in grades: if item['course_id'] == course_id: item['grade'] = grade break else: item = {'course_id': course_id, 'grade': grade} grades.append(item) setattr(student, 'grades', item) Util.update(db_name, lst)
def create_school(mark): db_name = "school" print("-----创建学校:-----") name = input("名称:").strip() address = input("地址:").strip() id = Util.getid(db_name) obj = School(id, name, address) Util.save(db_name, obj)
def pay_fee(student_id): """ 交学费 :return: """ db_name = "student" lst = Util.read_data(db_name) for student in lst: if getattr(student, 'id') == student_id: setattr(student, 'fee_ispaid', True) Util.update(db_name, lst) print("@-缴费成功!")
def create_teacher(mark): """ 创建讲师角色时要关联学校 :return: """ db_name = "teacher" print("-----创建讲师:-----") name = input("姓名:").strip() school_id = Util.choose_school() if not school_id: return id = Util.getid(db_name) obj = Teacher(id, name, school_id) Util.save(db_name, obj)
def create_course(mark): """ 课程包含,周期,价格,通过学校创建课程 :return: """ db_name = "course" print("-----创建课程:-----") name = input("课程名:").strip() cycle = input("周期:").strip() price = input("学费:").strip() school_id = Util.choose_school() if not school_id: return id = Util.getid(db_name) obj = Course(id, name, cycle, price, school_id) Util.save(db_name, obj)
def create_student(mark): """ 5. 创建学员时,选择学校,关联班级 :return: """ db_name = "student" print("-----学员注册:-----") name = input("姓名:").strip() school_id = Util.choose_school() if not school_id: return class_id = Util.choose_class(school_id) if not class_id: return id = Util.getid(db_name) obj = Student(id, name, school_id, class_id) Util.save(db_name, obj)
def login(view_type): while True: print("-----登录-----") username = input('用户名:').strip(); # password = input('密码:').strip(); #省去密码验证功能 if view_type == 'm': if username == 'admin': break else: continue elif view_type == 's': lst = Util.read_data('student'); elif view_type == 't': lst = Util.read_data('teacher'); for v in lst: if username == getattr(v, 'name'): print("登录成功:", v.__dict__) return getattr(v, 'id'); print("$-用户错误,重新登录!")
def create_class(mark): """ 通过学校创建班级, 班级关联课程、讲师 :return: """ db_name = "class" print("-----创建班级:-----") name = input("名称:").strip() school_id = Util.choose_school() if not school_id: return courses = [] while True: course_id = Util.choose_course(school_id) teacher_id = Util.choose_teacher(school_id) if not course_id or not teacher_id: print("$-选择错误!") cou = {"course_id": course_id, "teacher_id": teacher_id} courses.append(cou) n = input("输入1继续选择课程与教师:") if n != 1: break id = Util.getid(db_name) obj = Class(id, name, school_id, courses) Util.save(db_name, obj)
def print_class(teacher_id): """ 查看班级 :param teacher_id: :return: """ lst = Util.read_data("class") new_lst = [] for index, item in enumerate(lst): courses = getattr(item, "courses") for course in courses: if course['teacher_id'] == teacher_id: new_lst.append(item) print(index, ":", item.__dict__) print("-----------------") return new_lst
def print_student(teacher_id): """ 查看学生 :param teacher_id: :return: """ print("@@@@@先选择班级@@@@@") class_lst = TeacherCtrl.print_class(teacher_id) n = int(input("输入班级编号:").strip()) class_id = getattr(class_lst[n], 'id') lst = Util.read_data("student") new_lst = [] print("@@@@@学生列表@@@@@") for index, item in enumerate(lst): if getattr(item, "class_id") == class_id: new_lst.append(item) print(index, ":", item.__dict__) print("-----------------") return new_lst