小明在帮老师处理数据,这些数据的第一行是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")