设一个文本文件marks.txt中存储了学生的姓名及成绩如下: 张三 96 李四 95 …… 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩的从高到低的顺序输出到另外一个文件sorted.txt中。
时间: 2024-12-19 16:16:06 浏览: 19
以下是一个简单的C语言学生成绩管理系统的示例代码:.docx
这是一个简单的文本处理任务,可以使用Python的内置模块如`csv`来读取数据,并利用列表或其他数据结构对成绩进行排序。以下是实现这个功能的一个示例代码:
```python
# 打开原始分数文件和结果排序文件
with open('marks.txt', 'r') as marks_file, open('sorted.txt', 'w', newline='') as sorted_file:
# 创建一个列表来暂存学生信息
student_scores = []
# 逐行读取文件,分割每一行获取姓名和成绩
for line in marks_file:
name, score = line.strip().split() # 假设分隔符是空格
student_scores.append((name, int(score))) # 将名字和整数成绩作为元组添加到列表中
# 按照成绩排序
student_scores.sort(key=lambda x: x[1], reverse=True) # 使用lambda函数以成绩为键进行降序排列
# 将排序后的学生信息写入新文件
writer = csv.writer(sorted_file)
for name, score in student_scores:
writer.writerow([name, score])
阅读全文