#3.按平均分从高到低展示学生信息 scores dict = {name: score for i in range(len(names))}* sorted_keys = sartedlscores_ dict, key=lambda k print!姓名语文(数学(外语) for in sorted keys: verbal, math, english = scores_dict[key]* print(f°{key}t{verbal}t{math}\t{english}')+
时间: 2024-03-19 12:44:42 浏览: 401
抱歉,您的问题不太清楚。根据您的描述,您需要按平均分从高到低展示学生信息。以下是一个示例代码,可以实现这个功能:
```python
# 定义学生得分字典
scores_dict = {'张三': {'语文': 90, '数学': 80, '外语': 70},
'李四': {'语文': 85, '数学': 90, '外语': 80},
'王五': {'语文': 95, '数学': 95, '外语': 90}}
# 计算每个学生的平均分,并保存到新的字典中
averages_dict = {}
for name, scores in scores_dict.items():
average = sum(scores.values()) / len(scores)
averages_dict[name] = average
# 按平均分从高到低排序
sorted_names = sorted(averages_dict, key=lambda k: averages_dict[k], reverse=True)
# 输出学生信息
print('姓名\t语文\t数学\t外语\t平均分')
for name in sorted_names:
scores = scores_dict[name]
verbal, math, english = scores['语文'], scores['数学'], scores['外语']
average = averages_dict[name]
print(f'{name}\t{verbal}\t{math}\t{english}\t{average:.2f}')
```
输出结果如下:
```
姓名 语文 数学 外语 平均分
王五 95 95 90 93.33
张三 90 80 70 80.00
李四 85 90 80 85.00
```
阅读全文