示例#1
0
 def add_student_to_grade(self, student_qq, grade_name):
     # 把学生增加到课程
     try:
         student =common.get_student_by_qq(student_qq)
         grade = common.get_grade(grade_name)
         grade.students.append(student)
         session.commit()
     except:
         return False
     return True
示例#2
0
 def add_student_to_grade(self, student_qq, grade_name):
     # 把学生增加到课程
     try:
         student =common.get_student_by_qq(student_qq)
         grade = common.get_grade(grade_name)
         grade.students.append(student)
         session.commit()
     except:
         return False
     return True
示例#3
0
 def get_score(self, grade_name):
     # 查看成绩
     grade = common.get_grade(grade_name)
     student = common.get_student_by_qq(self.qq)
     if grade != None and student != None:
         grade_record = session.query(create_table.GradeRecord).filter(
             create_table.GradeRecord.grade == grade,
             create_table.GradeRecord.student == student,
         ).first()
         if grade_record != None:
             return grade_record.score
     else:
         return None
示例#4
0
 def get_score(self, grade_name):
     # 查看成绩
     grade = common.get_grade(grade_name)
     student = common.get_student_by_qq(self.qq)
     if grade != None and student != None:
         grade_record = session.query(init_database.GradeRecord).filter(
             init_database.GradeRecord.grade == grade,
             init_database.GradeRecord.student == student,
         ).first()
         if grade_record != None:
             return grade_record.score
     else:
         return None
示例#5
0
 def get_rank(self, grade_name):
     # 获取排名
     grade = common.get_grade(grade_name)
     student = common.get_student_by_qq(self.qq)
     if grade != None and student != None:
         grade_records = session.query(init_database.GradeRecord).filter(
             init_database.GradeRecord.grade == grade
         ).order_by(init_database.GradeRecord.score.desc()).all()
         students = list(map(lambda record: record.student, grade_records))
         # print(students) 输出列表
         if student in students:
             rank = students.index(student)
             return rank+1  # 索引从0开始
     return None
示例#6
0
 def get_rank(self, grade_name):
     # 获取排名
     grade = common.get_grade(grade_name)
     student = common.get_student_by_qq(self.qq)
     if grade != None and student != None:
         grade_records = session.query(init_database.GradeRecord).filter(
             init_database.GradeRecord.grade == grade).order_by(
                 init_database.GradeRecord.score.desc()).all()
         students = list(map(lambda record: record.student, grade_records))
         # print(students) 输出列表
         if student in students:
             rank = students.index(student)
             return rank + 1  # 索引从0开始
     return None
 def add_student_to_grade(self, student_qq, grade_name):
     '''
     Add a student to the Course
     :param student_qq:
     :param grade_name:
     :return: True if success, else False
     '''
     try:
         student = common.get_student_by_qq(student_qq)
         grade = common.get_grade(grade_name)
         grade.students.append(student)
         session.commit()
         return True
     except:
         print('Adding student failed.'.center(50, ' '))
示例#8
0
    def get_score(self, grade_name):
        '''
        Check the results
        :param grade_name:
        :return:
        '''
        grade = common.get_grade(grade_name)
        student = common.get_student_by_qq(self.qq)

        if grade != None and student != None:
            grade_record = session.query(init_database.GradeRecord).filter(
                init_database.GradeRecord.grade == grade,
                init_database.GradeRecord.student == student,
            ).first()

            if grade_record != None:
                return grade_record.score
        else:
            return None
示例#9
0
    def get_rank(self, grade_name):
        '''
        Get the final ranks
        :param grade_name:
        :return:
        '''
        grade = common.get_grade(grade_name)
        student = common.get_student_by_qq(self.qq)

        if grade != None and student != None:
            grade_records = session.query(init_database.GradeRecord).filter(
                init_database.GradeRecord.grade == grade).order_by(
                    init_database.GradeRecord.score.desc()).all()
            students = list(map(lambda record: record.student, grade_records))

            if student in students:
                rank = students.index(student)
                return rank + 1
        else:
            return None
示例#10
0
    def add_student_to_subject(self, student_qq, subject_name):
        '''
        把学生增加到课程
        :param student_qq: 学员的qq号码。
        :param subject_name: 课程名称。
        :return:
        '''

        student =common.get_student_by_qq(student_qq)
        #获取课程的对象。
        subject = common.get_subject(subject_name)
        if student is not None and subject is not None:
            try:
                #调用对象的relationship后使用append添加学生对象。
                subject.student.append(student)
                Session.commit()
                print("学员{}添加到{}成功。".format(student.name,subject.name))
                return True
            except Exception as e:
                print("添加失败!", e)
                return False
        else:
            print("学员QQ号或者课程不存在。")
示例#11
0
    def modify_score(self, subject_name, student_qq):
        '''
           修改成绩
              首先获取该学生所有作业记录。
              然后选择需要修改的条目。
              输入新的作业成绩。
              写入该成绩。

           :param subject_name: 课程的名称。
           :param student_qq: 学员的qq。
           :return:
           '''
        subject = common.get_subject(subject_name)
        student = common.get_student_by_qq(student_qq)
        #获取对应课程和和学员的学习记录。
        while True:
            study_record=Session.query(init_database.StudyRecord).filter(
                    init_database.StudyRecord.subject == subject,
                init_database.StudyRecord.student == student
                ).order_by(init_database.StudyRecord.day.asc()).all()
            for item in study_record:
                #打印出该学员的对应课程的作业记录。
                print("id:{} 作业记录:{}".format(study_record.index(item),item))

            print("请输入需要修改的作业记录:(q for exit!)")
            choice=input(">>")
            if choice == "q":
                break
            #获取待修改的作业记录对象。
            target_record=study_record[int(choice)]
            print("请输入新成绩: (0~100分)")
            score=input(">>")
            #重新赋值作业分数。
            target_record.score = score
            Session.commit()
            print("成绩修改好了。")