用python(3)按照每个学生的平均成绩由高到低排序输出5个学生的相关信息,每个学生一行,按如下格式输出,每一列10个字符宽,第一列居中显示,其余列右对齐。
时间: 2024-05-08 14:16:29 浏览: 43
假设有一个包含学生信息和成绩的列表students,其中每个元素为一个字典,包含以下键值对:
- 'name': 学生姓名,字符串类型
- 'scores': 成绩列表,包含三个整数类型元素,分别是语文、数学、英语的成绩
可以按照如下代码进行排序和输出:
```python
# 按照平均成绩排序
students_sorted = sorted(students, key=lambda x: sum(x['scores'])/3, reverse=True)
# 输出前5个学生的信息
for student in students_sorted[:5]:
name = student['name']
scores = student['scores']
average = sum(scores) / 3
print("{:^10}{:>10}{:>10}{:>10}{:>10}".format(name, scores[0], scores[1], scores[2], average))
```
其中,格式化字符串"{:^10}{:>10}{:>10}{:>10}{:>10}"表示输出内容分别为:
- 中间对齐宽度为10的姓名
- 右对齐宽度为10的语文成绩
- 右对齐宽度为10的数学成绩
- 右对齐宽度为10的英语成绩
- 右对齐宽度为10的平均成绩
输出示例:
```
小明 98 100 99 99.00
小红 97 98 99 98.00
小刚 95 96 97 96.00
小李 90 95 98 94.33
小张 89 98 95 94.00
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)