这是个为了教妹纸入门前端,于是就示范着动手「做个计算器出来」,结果发现比想象的要好用些的小工具,或许对准备出国和准备重修的同学都有点帮助,所以分享一下。

它的功能呢,大致就是这么几个了:

  • 一键粘贴导入教务处成绩单。
  • 按不同绩点算法计算算术均分、加权均分和绩点。
  • 支持不同学校要求的多种计算方式,如选择是否包含放弃、未通过课程等。
  • 学期绩点可视化。
  • 可即时修改输入成绩,便于找出性价比最高的重修课程。

一开始折腾的时候,我对它的要求是结果要和教务系统上的分数一样(请不要理解为这是任何程度上学霸对成绩的执着,而只是码农对结果的强迫症而已啦),但是它的结果和教务系统的误差常常超过小数点后一位……在把调试数据范围从所有课程减小到单个学期以后,发现了几个成绩计算时的问题:

  • 教务系统对五分制的换算,并非严格按照分数区间的均值。比如 B+ 对应的范围是 84 到 82,大家也都认为它是按平均的 83 来换算的,然而可以确认教务系统的代码里这个数字其实是 83.5。相应的还有 A- 实际按 87.5 而非 87 计等(哇居然会把你的均分提高,学校居然会这么好心啊~)
  • 刚出成绩的时候,绩点会马上更新,但是均分和学分就不会。这会造成一种对着屏幕感觉教务系统怎么连学分这种个位数加法都能加错的感觉。
  • 我们都知道补考通过的课程是按照 60 分记的,那么补考没过的呢……好吧,是按照期末成绩记的。感谢某位大腹黑,我居然连这个都知道。
    选了两次以上的课程,它在教务系统里的「课程状态」会和补考的课程一样都是 1,不过这并不影响均分的计算,所以放心地刷体育课吧。
  • 有些特别的分数被计入了 GPA,但没有被计入均分。比如英语高级班「赠送」的四个学分。

嗯好吧其实我要表达的是「来试试计算器吧它避开了这些坑哦」蛤蛤。

不过因为我的测试数据种类有限……(比如 AF 的等级我可没本事全部试一遍啊),所以这个小工具肯定会有一些这样那样的问题,希望大家的反馈!