python——绩点计算

绩点计算

类型:字典

描述

平均绩点计算方法:(课程学分1绩点+课程学分2绩点+…+课程学分n*绩点)/(课程学分1+课程学分2+…+课程学分n)

用户循环输入五分制成绩和课程学分,题目测试数据保证至少有一组或以上合法数据输入。输入‘-1’时结束输入,计算学生平均绩点。等级与绩点对应关系如下表:

在这里插入图片描述

输入格式

每组输入包括两行:

  • 第一行是五分制的分数
  • 第二行是一个代表学分的数字

输出格式

平均绩点,严格保留两位小数

示例

输入:

A
3
B
3
A
2
-1	

输出:

3.62

参考代码

'''
成绩	等级	绩点
90-100	A	4.0
85-89	A-	3.7
82-84	B+	3.3
78-81	B	3.0
75-77	B-	2.7
72-74	C+	2.3
68-71	C	2.0
64-67	C-	1.5
60-63	D	1.3
补考60	D-	1.0
60以下	F	0
平均绩点:(课程学分1*绩点+课程学分2*绩点+课程学分n*绩点)/(课程学分1+课程学分2+课程学分n)
'''
#用户循环输入五分制成绩和课程学分,计算学生平均绩点。
score = {'A': 4.0, 'A-': 3.7, 'B+': 3.3, 'B': 3.0, 'B-': 2.7, 'C+': 2.3, 'C': 2.0, 'C-': 1.5, 'D': 1.3, 'D-': 1.0,
         'F': 0.0}
gpaSum, creditSum, gpaAve = 0, 0, 0
while True:
    s = input()
    if s == '-1':
        break
    elif s in score.keys():
        credit = float(input())
        gpaSum = gpaSum + score[s] * credit
        creditSum = creditSum + credit
        gpaAve = gpaSum / creditSum
    else:
        print('data error')
print('{:.2f}'.format(gpaAve))
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
好的,以下是一个简单的Python程序,用于计算绩点: ```python # 定义成绩和绩点的对应关系 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} # 输入科目数 num_courses = int(input("请输入科目数:")) # 初始化总学分和总绩点 total_credits = 0 total_grade_points = 0 # 循环输入每门课程的学分和成绩,并计算总学分和总绩点 for i in range(num_courses): credits = int(input("请输入第{}门课的学分:".format(i+1))) grade = input("请输入第{}门课的成绩:".format(i+1)) total_credits += credits total_grade_points += credits * grade_point[grade] # 计算平均绩点并输出结果 gpa = total_grade_points / total_credits print("您的平均绩点为:{:.2f}".format(gpa)) ``` 使用方法: 1. 运行程序后,按照提示输入科目数。 2. 根据提示,依次输入每门课程的学分和成绩,程序会自动计算总学分和总绩点。 3. 计算完所有课程的绩点后,程序会自动计算平均绩点,并输出结果。 注意事项: 1. 程序中使用了一个字典 `grade_point`,表示成绩和绩点的对应关系。如果您的学校使用的成绩和绩点对应关系与此不同,请修改相应代码。 2. 程序中使用了一个格式化字符串 `{:.2f}`,表示保留两位小数输出结果。如果您需要更多或更少的小数位数,请自行修改相应代码。 希望对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值