用python生成一段代码,从一组txt成绩文件中,统计出每个人成绩最高的三次分数
时间: 2024-04-30 07:21:17 浏览: 37
可以使用Python的文件读写和字典来实现这个功能。以下是一个示例代码:
```python
# 打开成绩文件并读取数据
with open('scores.txt') as f:
lines = f.readlines()
# 创建一个字典来保存每个人的成绩
scores = {}
# 遍历每一行数据
for line in lines:
# 将数据分割成姓名和分数列表
name, *score_list = line.strip().split(',')
# 将分数列表转换为整数
scores[name] = [int(score) for score in score_list]
# 创建一个字典来保存每个人的最高三次分数
top_scores = {}
# 遍历每个人的分数列表
for name, score_list in scores.items():
# 将分数列表按照从大到小的顺序排序
sorted_scores = sorted(score_list, reverse=True)
# 取出最高的三个分数
top_scores[name] = sorted_scores[:3]
# 输出每个人的最高三次分数
for name, score_list in top_scores.items():
print(name, ':', score_list)
```
在这个示例代码中,我们首先打开成绩文件并读取数据。然后,我们创建一个字典来保存每个人的成绩,字典的键是姓名,值是一个整数列表,表示该学生的所有成绩。
接下来,我们遍历每个人的成绩列表,将其按照从大到小的顺序排序,并取出最高的三个分数。最后,我们创建另一个字典来保存每个人的最高三次分数,并输出结果。