Fix the bug of GPA calculation error
This commit is contained in:
@@ -9,6 +9,9 @@ def get_grade(student_client, output_type="none"):
|
|||||||
|
|
||||||
# 成绩不为空时
|
# 成绩不为空时
|
||||||
if grade:
|
if grade:
|
||||||
|
# 过滤出成绩大于等于60分的课程
|
||||||
|
filtered_grade = list(filter(lambda x: int(x["percentage_grades"]) >= 60, grade))
|
||||||
|
|
||||||
# 遍历 grade 中的每个字典,将 title 中的中文括号替换为英文括号
|
# 遍历 grade 中的每个字典,将 title 中的中文括号替换为英文括号
|
||||||
for course_data_grade in grade:
|
for course_data_grade in grade:
|
||||||
course_data_grade["title"] = course_data_grade["title"].replace("(", "(").replace(")", ")")
|
course_data_grade["title"] = course_data_grade["title"].replace("(", "(").replace(")", ")")
|
||||||
@@ -22,14 +25,14 @@ def get_grade(student_client, output_type="none"):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 学分总和
|
# 学分总和
|
||||||
total_credit = sum(float(course["credit"]) for course in grade)
|
total_credit = sum(float(course["credit"]) for course in filtered_grade)
|
||||||
|
|
||||||
# 学分绩点总和
|
# 学分绩点总和
|
||||||
total_xfjd = sum(float(course["xfjd"]) for course in grade)
|
total_xfjd = sum(float(course["xfjd"]) for course in filtered_grade)
|
||||||
|
|
||||||
# (百分制成绩*学分)的总和
|
# (百分制成绩*学分)的总和
|
||||||
sum_of_percentage_grades_multiplied_by_credits = sum(
|
sum_of_percentage_grades_multiplied_by_credits = sum(
|
||||||
float(course["percentage_grades"]) * float(course["credit"]) for course in grade
|
float(course["percentage_grades"]) * float(course["credit"]) for course in filtered_grade
|
||||||
)
|
)
|
||||||
|
|
||||||
# GPA计算 (学分*绩点)的总和/学分总和
|
# GPA计算 (学分*绩点)的总和/学分总和
|
||||||
|
|||||||
Reference in New Issue
Block a user