7-4 绩点计算

全屏浏览题目

切换布局

作者 肖艳萍

单位 浙大城市学院

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

用户循环输入成绩对应的等级和课程学分,输入‘-1’时结束输入,计算学生平均绩点。等级与绩点对应关系如下表:

成绩 等级 绩点

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

如果输入的等级不在上述表中,则输出data error

输入格式:

逐行输入多门课程的分数和学分,输入格式:一行是五分制的分数, 一行是一个代表学分的数字,重复多次,直到输入‘-1’时结束输入。

输出格式:

平均绩点,保留两位小数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

输入样例:

在这里给出一组输入。例如:

A
2
A-
2
B
3
C
2
-1
 

输出样例:

在这里给出相应的输出。例如:

3.16
 

def get_gpa(grade):
    # 定义一个字典,将等级对应到绩点
    grade_to_gpa = {
        '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
    }
    
    # 查找等级对应的绩点并返回
    if grade in grade_to_gpa:
        return grade_to_gpa[grade]
    else:
        return None


def calculate_gpa():
    total_credit = 0
    total_gpa_credit = 0
    
    while True:
        # 输入成绩对应的等级
        grade = input()
        
        # 输入‘-1’时结束输入
        if grade == '-1':
            break
        
        # 输入对应的学分
        credit = int(input())
        
        # 查找等级对应的绩点
        gpa = get_gpa(grade)
        
        # 判断输入的等级是否有效
        if gpa is None:
            print("data error")
            return None
        
        # 计算总学分和总绩点
        total_credit += credit
        total_gpa_credit += credit * gpa
    
    # 计算平均绩点并返回
    gpa_average = total_gpa_credit / total_credit
    return gpa_average


if __name__ == '__main__':
    # 调用函数计算平均绩点
    result = calculate_gpa()
    if result is not None:
        # 输出结果,保留两位小数
        print("{:.2f}".format(result))

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的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}`,表示保留两位小数输出结果。如果您需要更多或更少的小数位数,请自行修改相应代码。 希望对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值