Added the ability to calculate percentile GPA
This commit is contained in:
@@ -125,17 +125,27 @@ for _ in range(run_count):
|
|||||||
# 按照提交时间降序排序
|
# 按照提交时间降序排序
|
||||||
sorted_grade = sorted(grade, key=lambda x: x["submission_time"], reverse=True)
|
sorted_grade = sorted(grade, key=lambda x: x["submission_time"], reverse=True)
|
||||||
|
|
||||||
# 学分绩点总和
|
|
||||||
total_xfjd = sum(float(course["xfjd"]) for course in grade)
|
|
||||||
|
|
||||||
# 学分总和
|
# 学分总和
|
||||||
total_credit = sum(float(course["credit"]) for course in grade)
|
total_credit = sum(float(course["credit"]) for course in grade)
|
||||||
|
|
||||||
# (学分*绩点)的总和/学分总和
|
# 学分绩点总和
|
||||||
|
total_xfjd = sum(float(course["xfjd"]) for course in grade)
|
||||||
|
|
||||||
|
# (百分制成绩*学分)的总和
|
||||||
|
sum_of_percentage_grades_multiplied_by_credits = sum(
|
||||||
|
float(course["percentage_grades"]) * float(course["credit"]) for course in grade
|
||||||
|
)
|
||||||
|
|
||||||
|
# 百分制GPA计算 (百分制成绩*学分)的总和/学分总和
|
||||||
|
percentage_gpa = "{:.2f}".format(
|
||||||
|
sum_of_percentage_grades_multiplied_by_credits / total_credit
|
||||||
|
)
|
||||||
|
|
||||||
|
# GPS计算 (学分*绩点)的总和/学分总和
|
||||||
gpa = "{:.2f}".format(total_xfjd / total_credit)
|
gpa = "{:.2f}".format(total_xfjd / total_credit)
|
||||||
|
|
||||||
# 整合个人信息
|
# 整合个人信息
|
||||||
integrated_info += f"当前GPA:{gpa}\n------"
|
integrated_info += f"当前GPA:{gpa}(百分制:{percentage_gpa})\n" f"------"
|
||||||
|
|
||||||
# 初始化输出成绩信息字符串
|
# 初始化输出成绩信息字符串
|
||||||
integrated_grade_info = "成绩信息:"
|
integrated_grade_info = "成绩信息:"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
[{'course_id': '04050003', 'title': '网页设计基础', 'teacher': '张丽妹', 'class_name': '(2023-2024-1)-04050003-1', 'credit': '3.5', 'category': '专业学习领域课', 'nature': '必修课', 'grade': 92, 'grade_point': '4.2', 'grade_nature': '正常考试', 'start_college': '计算机工程系', 'mark': '主修', 'submission_time': '2024-01-29 12:57:32', 'name_of_submitter': '张丽妹', 'xfjd': '14.70', 'percentage_grades': '92'}, {'course_id': 'FFC9462325AF13ABE055C1C514C140A8', 'title': 'Python程序设计', 'teacher': '陈胜娣;陈金峰', 'class_name': '(2023-2024-1)-04050032-1', 'credit': '4.5', 'category': '专业学习领域课', 'nature': '必修课', 'grade': 74, 'grade_point': '2.4', 'grade_nature': '正常考试', 'start_college': '计算机工程系', 'mark': '主修', 'submission_time': '2024-01-28 18:38:53', 'name_of_submitter': '陈胜娣', 'xfjd': '10.80', 'percentage_grades': '74'}, {'course_id': '29', 'title': '网球1', 'teacher': '朱海飞', 'class_name': '(2023-2024-1)-29-4', 'credit': '3.0', 'category': '公共基础领域课', 'nature': '必修课', 'grade': 66, 'grade_point': '1.6', 'grade_nature': '正常考试', 'start_college': '基础部', 'mark': '主修', 'submission_time': '2024-01-21 20:11:00', 'name_of_submitter': '朱海飞', 'xfjd': '4.80', 'percentage_grades': '66'}, {'course_id': 'E1EB8ADEBC0166D6E055C1C514C140A8', 'title': '军事技能', 'teacher': '周勇', 'class_name': '(2023-2024-1)-95010002-60', 'credit': '2.0', 'category': '公共基础领域课', 'nature': '必修课', 'grade': '及格', 'grade_point': '1.0', 'grade_nature': '正常考试', 'start_college': '计算机工程系', 'mark': '主修', 'submission_time': '2023-11-24 11:45:27', 'name_of_submitter': '周勇', 'xfjd': '2.00', 'percentage_grades': '60'}, {'course_id': 'E1E03C639E504455E055C1C514C140A8', 'title': '入学教育', 'teacher': '周勇', 'class_name': '(2023-2024-1)-98010001-21', 'credit': '1.0', 'category': '公共基础领域课', 'nature': '必修课', 'grade': 85, 'grade_point': '3.5', 'grade_nature': '正常考试', 'start_college': '计算机工程系', 'mark': '主修', 'submission_time': '2024-01-23 23:11:02', 'name_of_submitter': '周勇', 'xfjd': '3.50', 'percentage_grades': '85'}, {'course_id': 'E75E02A9F963458FE055C1C514C140A8', 'title': '应用数学', 'teacher': '彭仲元', 'class_name': '(2023-2024-1)-99010008-5', 'credit': '3.5', 'category': '公共基础领域课', 'nature': '必修课', 'grade': '良好', 'grade_point': '3.5', 'grade_nature': '正常考试', 'start_college': '基础部', 'mark': '主修', 'submission_time': '2024-02-01 11:22:23', 'name_of_submitter': '彭仲元', 'xfjd': '12.25', 'percentage_grades': '85'}, {'course_id': '071AC474870428F3E065C1C514C140A8', 'title': '中国音乐赏析', 'teacher': '崔可欣;曾蓓君', 'class_name': '(2023-2024-1)-99020013-1', 'credit': '2.0', 'category': '公共学习领域课', 'nature': '必修课', 'grade': 67, 'grade_point': '1.7', 'grade_nature': '正常考试', 'start_college': '基础部', 'mark': '主修', 'submission_time': '2024-01-23 22:48:10', 'name_of_submitter': '崔可欣', 'xfjd': '3.40', 'percentage_grades': '67'}]
|
||||||
+1
-1
@@ -6,7 +6,6 @@ import time
|
|||||||
import traceback
|
import traceback
|
||||||
import unicodedata
|
import unicodedata
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
import rsa
|
import rsa
|
||||||
from pyquery import PyQuery as pq
|
from pyquery import PyQuery as pq
|
||||||
@@ -439,6 +438,7 @@ class Client:
|
|||||||
"submission_time": i.get("tjsj"),
|
"submission_time": i.get("tjsj"),
|
||||||
"name_of_submitter": i.get("tjrxm"),
|
"name_of_submitter": i.get("tjrxm"),
|
||||||
"xfjd": i.get("xfjd"),
|
"xfjd": i.get("xfjd"),
|
||||||
|
"percentage_grades": i.get("bfzcj"),
|
||||||
}
|
}
|
||||||
for i in grade_items
|
for i in grade_items
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user