STUCOUNT = 5 # 学生人数 SCORECOUNT = 3 # 每个学生的成绩数 stu_table = [] # 学生成绩表 # 输入数据 for i in range(STUCOUNT): s_id = int(input()) # 省略提示"输入学生的学号:" s_name = input() # 省略提示"输入学生的姓名:" s_scores = list(eval(input())) # 省略提示"输入学生的3个成绩(用逗号隔开的3个整数成绩):" stu_table.append([s_id, s_name, s_scores]) # 往成绩表中添加学生记录 # 对学生成绩表按总分从高到低的顺序排序 ########## 开始补全代码 ########## stu_table.sort(key = lambda stu: ) ########## 结束补全代码 ########## # 输出成绩表 print("s_id s_name score1 score2 score3 total_score") for stu in stu_table: print(f"{stu[0]:4d} {stu[1]:<8s} {stu[2][0]:6d} {stu[2][1]:6d} {stu[2][2]:6d} {stu[3]:6d}")
时间: 2024-02-16 07:03:09 浏览: 72
补全代码如下:
```python
stu_table.sort(key=lambda stu: sum(stu[2]), reverse=True)
```
其中,`key`参数指定排序的关键字,这里使用了`lambda`表达式,计算每个学生的总分。`reverse=True`参数表示按总分从高到低排序。
完整代码如下:
```python
STUCOUNT = 5 # 学生人数
SCORECOUNT = 3 # 每个学生的成绩数
stu_table = [] # 学生成绩表
# 输入数据
for i in range(STUCOUNT):
s_id = int(input()) # 省略提示"输入学生的学号:"
s_name = input() # 省略提示"输入学生的姓名:"
s_scores = list(eval(input())) # 省略提示"输入学生的3个成绩(用逗号隔开的3个整数成绩):"
stu_table.append([s_id, s_name, s_scores]) # 往成绩表中添加学生记录
# 对学生成绩表按总分从高到低的顺序排序
stu_table.sort(key=lambda stu: sum(stu[2]), reverse=True)
# 输出成绩表
print("s_id s_name score1 score2 score3 total_score")
for stu in stu_table:
print(f"{stu[0]:4d} {stu[1]:<8s} {stu[2][0]:6d} {stu[2][1]:6d} {stu[2][2]:6d} {sum(stu[2]):6d}")
```
阅读全文