python 输入一个班的学生成绩,打印平均分,以及高于平均分的学生成绩
时间: 2024-11-06 08:19:07 浏览: 160
在Python中,你可以使用列表存储学生的成绩,然后计算总分、平均分,接着遍历列表找出高于平均分的成绩。下面是一个简单的示例:
```python
def calculate_average(scores):
return sum(scores) / len(scores)
def print_students_above_average(scores, average):
above_average = [score for score in scores if score > average]
return above_average
# 获取学生成绩输入
scores = []
while True:
score = input("请输入一个学生的分数(输入'q'结束): ")
if score.lower() == 'q':
break
else:
try:
score = float(score)
scores.append(score)
except ValueError:
print("无效输入,需要一个数字.")
if scores: # 检查是否有输入
average_score = calculate_average(scores)
print(f"班级平均分: {average_score}")
above_average_scores = print_students_above_average(scores, average_score)
if above_average_scores:
print(f"高于平均分的学生成绩有: {above_average_scores}")
else:
print("没有学生得分高于平均分.")
else:
print("未收到任何成绩,请重新输入。")
```
这个程序首先定义了两个辅助函数:`calculate_average`用于计算平均分,`print_students_above_average`用于筛选出高于平均分的成绩。然后,通过循环收集用户的输入,将其添加到`scores`列表中。最后,检查列表是否为空,如果不为空则计算平均分并找出高于平均分的学生成绩。
阅读全文