学生人数n由scanf输入 输出学成成绩按从高到底排序。输出参考如下: 编号 + 姓名 + +语文 + + 数学 + 英语 +总分 1 + + + +b + + + + 100 + + 100 +
时间: 2023-11-17 22:08:10 浏览: 157
```python
# 输入学生人数n
n = int(input())
# 定义一个空列表用于存储学生信息
students = []
# 循环输入每个学生的信息
for i in range(n):
# 输入学生信息
info = input().split()
# 将学生信息转换为字典类型
student = {'id': int(info[0]), 'name': info[1], 'chinese': int(info[2]), 'math': int(info[3]), 'english': int(info[4])}
# 计算学生总分
student['total'] = student['chinese'] + student['math'] + student['english']
# 将学生信息添加到列表中
students.append(student)
# 按照总分从高到低排序
students.sort(key=lambda x: x['total'], reverse=True)
# 输出表头
print('编号\t姓名\t语文\t数学\t英语\t总分')
# 循环输出每个学生的信息
for i in range(n):
print('{0}\t{1}\t{2}\t{3}\t{4}\t{5}'.format(students[i]['id'], students[i]['name'], students[i]['chinese'], students[i]['math'], students[i]['english'], students[i]['total']))
```
--相关问题--:
1. 如何按照字典中的某个键值进行排序?
2. 如何将字符串
阅读全文