#在student.txt文档中记录了每个学生的成绩(如下所示),请定义一个函数对该文件的学生的成绩做个排名(从高到低), # 把排名的信息写入到order.txt文档中,格式如下
时间: 2024-10-24 13:03:06 浏览: 4
在Python中,你可以定义一个函数来读取`student.txt`文件中的学生成绩数据,对这些成绩进行排序,然后将结果写入到`order.txt`文件中。这里我们可以假设文件内容是以逗号分隔的学号和成绩,例如:
```python
def rank_students():
with open('student.txt', 'r') as f_in, open('order.txt', 'w') as f_out:
lines = f_in.readlines()
# 将所有行转换为字典列表,便于处理
student_data = [line.strip().split(',') for line in lines]
# 使用内置的sorted函数,通过元组的第一个元素(成绩)进行降序排序
sorted_data = sorted(student_data, key=lambda x: float(x[1]), reverse=True)
# 写入新的文件,格式为:排名,学号,成绩
for i, student in enumerate(sorted_data, start=1):
f_out.write(f"{i}, {student[0]}, {student[1]}\n")
# 调用函数开始排序并写入文件
rank_students()
```
在这个例子中,我们首先打开输入文件,读取每一行,并将其解析为包含学号和成绩的元组。然后,我们使用`sorted()`函数按成绩降序排列这些元组。最后,我们将排名、学号和成绩按照指定格式写入到输出文件。
阅读全文