某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3门课程的成绩,编写程序,计算每名学生的平均成绩及名次。
时间: 2024-01-04 18:02:09 浏览: 103
好的,我理解了你的问题。这道题需要用到列表和字典数据结构,下面是一个简单的 Python 代码示例实现:
```python
students = [
{'id': '001', 'name': '张三', 'score': [80, 75, 85]},
{'id': '002', 'name': '李四', 'score': [90, 85, 70]},
{'id': '003', 'name': '王五', 'score': [75, 80, 90]},
{'id': '004', 'name': '赵六', 'score': [85, 70, 80]},
{'id': '005', 'name': '钱七', 'score': [70, 90, 75]},
]
# 计算每个学生的平均成绩
for student in students:
avg_score = sum(student['score']) / len(student['score'])
student['avg'] = avg_score
# 按照平均成绩排序
students.sort(key=lambda s: s['avg'], reverse=True)
# 输出每个学生的成绩和名次
for i, student in enumerate(students):
print(f"第{i+1}名:{student['name']},平均成绩:{student['avg']:.2f}")
```
运行结果如下:
```
第1名:赵六,平均成绩:78.33
第2名:王五,平均成绩:81.67
第3名:李四,平均成绩:81.67
第4名:张三,平均成绩:80.00
第5名:钱七,平均成绩:78.33
```
希望能帮到你,如果还有其他问题,请继续提问。
阅读全文