设一个文本文件marks.txt中存储了学生的姓名及成绩如下 张三96 李四95 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩从高到底的顺序输出到另外一个文件sorted.txt中
时间: 2023-12-31 08:21:00 浏览: 40
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。以下是 Python 代码实现:
``` python
# 打开 marks.txt 文件并读取内容
with open('marks.txt', 'r') as f:
lines = f.readlines()
# 将每行字符串转换成元组 (姓名, 成绩) 的形式,并存储到列表中
students = [(line.split()[0], int(line.split()[1])) for line in lines]
# 按成绩从高到低排序
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
# 将排序后的结果写入 sorted.txt 文件
with open('sorted.txt', 'w') as f:
for student in sorted_students:
f.write(f"{student[0]} {student[1]}\n")
# 输出排序后的结果
print("按成绩从高到低排序后的结果:")
for student in sorted_students:
print(f"{student[0]} {student[1]}")
```
这个程序首先打开 marks.txt 文件并读取每一行的内容,将每行字符串转换成元组的形式,并存储到列表 `students` 中。然后使用 `sorted()` 函数按成绩从高到低排序,将排序后的结果写入 sorted.txt 文件中,并输出排序后的结果。
阅读全文