예제 #1
0
    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)
예제 #2
0
파일: Manage.py 프로젝트: leach/python-demo
 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)
예제 #3
0
 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("@-缴费成功!")
예제 #4
0
파일: Manage.py 프로젝트: leach/python-demo
 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)
예제 #5
0
파일: Manage.py 프로젝트: leach/python-demo
 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)
예제 #6
0
 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)
예제 #7
0
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("$-用户错误,重新登录!")
예제 #8
0
파일: Manage.py 프로젝트: leach/python-demo
 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)
예제 #9
0
 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
예제 #10
0
 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