输入多个学生的成绩[0,100],统计这些学生中低于平均分的人数。写出完整代码
时间: 2024-03-25 15:41:27 浏览: 38
低于平均成绩的学生人数
5星 · 资源好评率100%
下面是Python代码实现:
```python
scores = []
while True:
score = input("请输入学生的成绩(0-100),输入Q结束输入:")
if score.upper() == 'Q':
break
score = int(score)
if score < 0 or score > 100:
print("输入的成绩不在有效范围内,请重新输入!")
continue
scores.append(score)
avg_score = sum(scores) / len(scores)
count = len([score for score in scores if score < avg_score])
print(f"平均分为{avg_score:.2f},低于平均分的学生人数为{count}人")
```
这段代码中,首先定义了一个空列表 scores,用于存储输入的学生成绩。然后使用 `while True:` 循环不断接收用户输入,直到用户输入了 Q 才停止循环。在每次输入时,将输入的字符串转换为整数,并判断其是否在有效范围内。如果不在有效范围内,则提示用户重新输入。如果在有效范围内,则将成绩添加到列表 scores 中。
接下来,计算平均分,并使用列表推导式统计低于平均分的学生人数。最后,输出平均分和低于平均分的学生人数。注意,输出的平均分保留两位小数,可以使用 f-string 进行格式化。
阅读全文