1103: 平均学分绩点(函数专题)--python

1103: 平均学分绩点(函数专题)–python

题目描述:

平均学分绩点(Grade Point Average,即GPA)是以学分与绩点作为衡量学生学习的量与质的计算单位,以取得一定的学分和平均学分绩点作为毕业和获得学位的标准,实施多样的教育规格和较灵活的教学管理制度。
大学里每一门课程都有一定的学分。只有通过这门课的考试,才能获得相应的学分。课程绩点的计算方法通常是:(百分制成绩-50)/10 取整。成绩100,对应绩点为5,成绩90~99对应绩点为4......,成绩60~69对应绩点为1,成绩小于60,对应绩点为0。
平均学分绩点的计算方法是:是将学生修过的每一门课程的绩点乘以该门课程的学分,累加后再除以总学分。 平均学分绩点可以作为学生学习能力与质量的综合评价指标之一。请编程计算一个学生的平均学分绩点。
输入
输入n表示有n门课程,然后输入n门课程的学分和成绩,学分和成绩都是整数。
输出
输出平均学分绩点,保留一位小数。
样例输入 Copy
3
2 95
3 85
5 75
样例输出 Copy
2.7

答案:

while True:
    try:
        m=int(input())
        sum=0
        s=0
        for i in range(m):
            a,b=map(int,input().split())
            if b>=60:
                c=(b-50)//10
            else:
                c=0
            sum+=a*c
            s+=a
        print("%.1f"%(sum/s))
    except:
        break
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您编写一个计算课程学分绩点Python程序。以下是代码示例: ```python # 定义成绩学分对应表 score_to_grade_point = {'A+': 4.3, 'A': 4.0, 'A-': 3.7, 'B+': 3.3, 'B': 3.0, 'B-': 2.7, 'C+': 2.3, 'C': 2.0, 'C-': 1.7, 'D+': 1.3, 'D': 1.0, 'F': 0.0} credit_to_grade_point = {'4.0': 4.0, '3.5': 3.5, '3.0': 3.0, '2.5': 2.5, '2.0': 2.0, '1.5': 1.5, '1.0': 1.0, '0.5': 0.5, '0.0': 0.0} # 定义计算绩点函数 def calculate_gpa(grades, credits): grade_points = [score_to_grade_point[g] for g in grades] credit_points = [credit_to_grade_point[c] for c in credits] sum_grade_points = sum([grade_points[i] * credit_points[i] for i in range(len(grades))]) sum_credits = sum([credit_points[i] for i in range(len(credits))]) return sum_grade_points / sum_credits # 测试 grades = ['A', 'B+', 'C', 'B', 'A-', 'B-', 'C+', 'F'] credits = ['4.0', '3.0', '2.5', '1.5', '3.0', '1.5', '2.0', '1.0'] gpa = calculate_gpa(grades, credits) print('GPA:', gpa) ``` 在这个程序中,我们定义了两个字典,分别是成绩学分对应表。然后,我们定义了一个计算绩点函数`calculate_gpa`,该函数接受两个参数:`grades`和`credits`,分别表示成绩学分的列表。在函数中,我们通过查表将成绩学分转换为对应的绩点,然后计算加权平均值,最后返回绩点。 在测试中,我们使用了一个包含8门课程成绩学分列表,并调用了`calculate_gpa`函数来计算绩点,最后输出结果。 希望这个程序能够帮助您计算课程学分绩点

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值