你有一个包含学生姓名、学号和成绩的信息列表,每个学生的信息以元组的形式存储(姓名,学号,成绩)。你需要编写一个Python程序来统计并输出以下内容: 1.所有学生的平均成绩。 2.成绩最高的学生的姓名和成绩。 3.成绩低于平均分的学生名单。以简单的代码展示
时间: 2024-10-09 16:03:33 浏览: 16
你可以使用Python的内置函数和列表推导式来实现这个功能。首先,假设你已经有了一个包含学生信息的元组列表:
```python
students = [('张三', '001', 90), ('李四', '002', 85), ('王五', '003', 95), ('赵六', '004', 78)]
```
下面是相应的代码来完成任务:
1. 计算平均成绩:
```python
# 先计算总分数,然后除以学生总数
total_score = sum(score for _, _, score in students)
average_score = total_score / len(students)
```
2. 找出成绩最高的学生:
```python
max_student = max(students, key=lambda x: x[2])
best_name, best_score = max_student
```
3. 筛选出成绩低于平均分的学生:
```python
below_average = [student for student in students if student[2] < average_score]
```
最后,将以上结果整合到一起输出:
```python
print(f"平均成绩: {average_score}")
print(f"成绩最高学生: {best_name}, 成绩: {best_score}")
print("成绩低于平均分的学生:")
for name, _, score in below_average:
print(f"{name}, 学号: {score}")
```
阅读全文