‬‬假设平均绩点计算方法如下:(课程学分1*绩点+课程学分2*绩点+课程学分n*绩点)/(课程学分1+课程学分2+课程学分n)。用户循环输入五分制成绩和课程学分,输入‘-1’时结束输入,计算学生平均绩

题目

‬‬假设平均绩点计算方法如下:(课程学分1绩点+课程学分2绩点+课程学分n*绩点)/(课程学分1+课程学分2+课程学分n)。用户循环输入五分制成绩和课程学分,输入‘-1’时结束输入,计算学生平均绩点。等级与绩点对应关系如下表:

在这里插入图片描述

示例

在这里插入图片描述

参考代码

lst_grade = []
lst_credit = []
while True:
    str_grade = input("请输入课程成绩,-1结束!")
    if str_grade == '-1':
        break
    else:
        if str_grade == "A":
            lst_grade.append(4.0)
        elif str_grade == "A-":
            lst_grade.append(3.7)
        elif str_grade == "B+":
            lst_grade.append(3.3)
        elif str_grade == "B":
            lst_grade.append(3.0)
        elif str_grade == "B-":
            lst_grade.append(2.7)
        elif str_grade == "C+":
            lst_grade.append(2.3)
        elif str_grade == "C":
            lst_grade.append(2.0)
        elif str_grade == "C-":
            lst_grade.append(1.5)
        elif str_grade == "D":
            lst_grade.append(1.3)
        elif str_grade == "D-":
            lst_grade.append(1.0)
        elif str_grade == "F":
            lst_grade.append(0.0)
        else:
            print("输入不合法!")
    try:
        grade = eval(input("请输入课程学分,-1结束!"))
    except NameError:
        print("Error:NameError!")
        print("输入有误")
    else:
        lst_credit.append(grade)
sum_grade = 0
for i in range(len(lst_grade)):
    sum_grade += lst_grade[i] * lst_credit[i]
av_grade = sum_grade / sum(lst_credit)
print("你的平均绩点为:{:0.2f}".format(av_grade))

运行结果

在这里插入图片描述

说明

个人能力有限,仅供参考,共同学习!

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无奈清风吹过

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

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

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

打赏作者

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

抵扣说明:

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

余额充值