北航GPA计算器

北航GPA计算器

北京航空航天大学的GPA计算方法为:

制度计算公式
百分制 4-3 * (100-X)^2 / 1600
五级制优秀:4
良好:3.5
中等:2.8
及格:1.7
不及格:0
两级制不计入GPA,但计入总学分

这里使用Python程序来编写这个GPA计算机,下图为GUI界面:

GPA Calculator

  • System:计分制度,选择百分制(Percentile)和五级制(5-point grading);
  • Score:分数,百分制为分数,五级制为等级;
  • Point:学分。
  1. 在使用时,选择对应的计分制度,输入分数和学分,点击"Add to list"按钮或敲下键盘上的Enter/Return键,即可输入分数。(*五级制的要输入“优秀”、“良好”等中文等级。)
  2. 在输入完所有的分数以后,点击"Calculate"按钮,GPA分数便会计算完成。
  3. 需要再次进行计算时,可点击"Recalculate"按钮,前面所输入的所有成绩将会清除。
  4. 注意:此程序并没有添加删除的功能,所以在使用的时候,需要小心输入成绩。若有需要,可自行修改代码。

由于代码略长,只显示较为重要的部分代码(计算GPA的类):

class GPA():
    """
    This is a class that calculates beihang gpa, with its own unique calculation method.
    """
    
    @classmethod
    def get_gpa(cls, score):
        if score<60:
            print("Failed")
            gpa_score = 0
        else:
            gpa_score = 4 - 3 * np.power((100-score),2) / 1600
        return gpa_score

    @classmethod
    def cal_score(cls, score_arr, point_arr):
        products = np.sum([score * point for score, point in zip(score_arr, point_arr)])
        sum_point = np.sum(point_arr)
        gpa = products/sum_point
        return gpa

class FourGrade(GPA):
    @classmethod
    def convert_mark(cls, score):
        """
        Convert the four grading into gpa system, e.g. 优秀=4, 良好=3.5.
        Return:
            gpa_score(float): The gpa grading mark.
        """
        if score == "优秀":
            gpa_score = 4
        elif score == "良好":
            gpa_score = 3.5
        elif score == "中等":
            gpa_score = 2.8
        elif score == "及格":
            gpa_score = 1.7
        elif score == "不及格":
            gpa_score = 0
        else:
            return False
        return gpa_score

详细代码可见我的 Github链接

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值