、请阅读stScore.txt文件中的学生信息。然后根据每个学生的平均成绩重新排序信息,并将结果保存在新文件stNew.txt中(代码+结果截图)
时间: 2024-02-11 22:09:11 浏览: 13
好的,我已经了解您的要求了。这里是实现您要求的 Python 代码:
```python
# 读取学生信息文件
with open('stScore.txt', 'r') as f:
lines = f.readlines()
# 将每个学生信息转化为字典
students = []
for line in lines:
info = line.strip().split()
student = {}
student['id'] = info[0]
student['name'] = info[1]
student['score1'] = int(info[2])
student['score2'] = int(info[3])
student['score3'] = int(info[4])
student['average'] = (student['score1'] + student['score2'] + student['score3']) / 3
students.append(student)
# 根据平均成绩排序
students = sorted(students, key=lambda x: x['average'], reverse=True)
# 将排序后的信息保存到新文件
with open('stNew.txt', 'w') as f:
for student in students:
f.write('{} {} {} {} {} {}\n'.format(student['id'], student['name'], student['score1'], student['score2'], student['score3'], student['average']))
print('学生信息已经成功排序并保存到stNew.txt文件中。')
```
在运行代码之前,请确保您已经准备好了 `stScore.txt` 文件,并且文件中的格式如下所示:
```
001 Tom 80 85 90
002 Jack 75 80 85
003 Lucy 90 95 100
004 David 85 90 95
005 Lily 70 75 80
```
运行代码后,我们可以在同级目录下看到生成了一个新文件 `stNew.txt`,其内容为:
```
003 Lucy 90 95 100 95.0
004 David 85 90 95 90.0
001 Tom 80 85 90 85.0
002 Jack 75 80 85 80.0
005 Lily 70 75 80 75.0
```
可以看到,学生信息按照平均成绩从高到低排序,并保存到了新文件中。
希望这个回答能够帮到您!