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
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
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
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
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 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, ' '))
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
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
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号或者课程不存在。")
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("成绩修改好了。")