7-15 jmu-python-异常-学生成绩处理基本版

小明在帮老师处理数据,这些数据的第一行是n,代表有n行整数成绩需要统计。
数据没有错误,则计算平均值(保留2位小数)并输出。
数据有错误,直接停止处理,并且不进行计算。

注:该程序可以适当处理小错误,比如对于有些数据如果左右包含空格,先去掉
空格再行处理。

输入格式:

第一行为n,代表接下来要输入的行数。
然后输入n行成绩(整数)。

输出格式:

如果输入过程中均未出现异常,则输出All OK。 否则输出样例2、3所示格式的错误信息。
如果未出现异常则输出:avg grade = 平均值。平均值(保留2位小数)
不管输入过程中有无出现异常,最后都要输出Process Completed

 


n = int(input())  # 读取n

grades = []  # 存储成绩

# 读取n行成绩
for i in range(n):
    grade_str = input().strip()  # 去掉左右空格
    try:
        grade = int(grade_str)  # 将字符串转换为整数
        grades.append(grade)  # 添加到成绩列表中
    except ValueError:  # 如果出现异常(无法将字符串转换为整数)
        print('Error for data "{}"! Break'.format(grade_str))
        print("Process Stopped.")
        exit()

if len(grades) == 0:  # 如果没有有效的成绩数据
    print("Error: No valid data.")
    print("Process Stopped.")
    exit()

avg_grade = sum(grades) / len(grades)  # 计算平均值

print("All OK")
print("avg grade = {:.2f}".format(avg_grade))  # 输出平均值(保留2位小数)

print("Process Completed")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值