输入10个学生的3门装成绩,给出每个同学的平均成绩的等级,要求考虑成绩的取值在0~100之间,如果未在此区间内要进行异常处理。
时间: 2023-05-31 11:05:21 浏览: 69
由于没有具体说明每个等级的分数范围,以下假设等级分别为A、B、C、D、E,分数范围为[90,100]、[80,90)、[70,80)、[60,70)、[0,60)。
代码如下:
```python
def get_grade(score):
if score < 0 or score > 100: # 异常处理
return "Invalid Score"
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "E"
# 输入10个学生的3门成绩
scores = []
for i in range(10):
print(f"请输入第{i+1}个学生的3门成绩(用空格隔开):")
s = input().split()
s = [int(x) for x in s]
scores.append(s)
# 计算每个学生的平均成绩并输出等级
for i, s in enumerate(scores):
avg_score = sum(s) / len(s)
grade = get_grade(avg_score)
print(f"第{i+1}个学生的平均成绩为{avg_score:.2f},等级为{grade}")
```
示例输出:
```
请输入第1个学生的3门成绩(用空格隔开):
80 90 95
第1个学生的平均成绩为88.33,等级为B
请输入第2个学生的3门成绩(用空格隔开):
85 75 65
第2个学生的平均成绩为75.00,等级为C
请输入第3个学生的3门成绩(用空格隔开):
-10 90 80
第3个学生的平均成绩为Invalid Score,等级为Invalid Score
...
```