设一个文本文件marks.txt中存储了学生的姓名及成绩如下:张三96李四95 ...... 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩从高到低的顺序输出到另外一个文件sorted. txt 中。
时间: 2024-11-09 18:31:13 浏览: 17
grapher中文教程.pdf
要实现这个功能,你可以使用Python语言,因为它提供了方便的文件操作和字符串处理能力。首先,我们需要打开输入文件、读取数据,然后将数据存储在一个字典或列表中,按照成绩排序,最后将排序后的结果写入到输出文件中。以下是简单的代码示例:
```python
# 打开输入文件并逐行读取数据
with open('marks.txt', 'r') as marks_file:
lines = marks_file.readlines()
# 创建一个空列表来保存学生的姓名和成绩
students = []
# 解析每一行数据
for line in lines:
name, score = line.strip().split(' ') # 分割名字和成绩
students.append((name, int(score))) # 将名次转换为整数
# 按照成绩降序排序
students.sort(key=lambda x: x[1], reverse=True)
# 打开输出文件并写入排序后的数据
with open('sorted.txt', 'w') as sorted_file:
for student in students:
sorted_file.write(f'{student[0]} {student[1]}\n')
阅读全文