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)
|
||||
|
||||
# 学分绩点总和
|
||||
total_xfjd = sum(float(course["xfjd"]) 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)
|
||||
|
||||
# 整合个人信息
|
||||
integrated_info += f"当前GPA:{gpa}\n------"
|
||||
integrated_info += f"当前GPA:{gpa}(百分制:{percentage_gpa})\n" f"------"
|
||||
|
||||
# 初始化输出成绩信息字符串
|
||||
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 unicodedata
|
||||
from urllib.parse import urljoin
|
||||
|
||||
import requests
|
||||
import rsa
|
||||
from pyquery import PyQuery as pq
|
||||
@@ -439,6 +438,7 @@ class Client:
|
||||
"submission_time": i.get("tjsj"),
|
||||
"name_of_submitter": i.get("tjrxm"),
|
||||
"xfjd": i.get("xfjd"),
|
||||
"percentage_grades": i.get("bfzcj"),
|
||||
}
|
||||
for i in grade_items
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user