设一个文本文件marks.txt中存储了学生的姓名及成绩如下 张三96 李四95 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩从高到底的顺序输出到另外一个文件sorted.txt中
时间: 2023-12-31 14:24:16 浏览: 43
好的,我可以帮你解决这个问题。以下是一段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('{} {}\n'.format(student[0], student[1]))
```
这段代码中,我们首先打开marks.txt文件,并读取每一行。然后将每一行分割成姓名和成绩,并转换成元组。接着,我们使用Python内置的sorted函数按成绩从高到低排序。最后,我们将排序后的结果输出到文件sorted.txt中。
注意,这段代码假设你的marks.txt文件中每一行都是以空格分隔姓名和成绩的。如果你的文件格式不同,你需要相应地修改代码。
相关问题
设一个文本文件marks txt中存储了学生的姓名及成绩如下 张三96 李四 95 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩从高到底的顺序输出到另外一个文件sorted.txt中。
好的,以下是一个Python的解决方案:
```python
# 打开文件marks.txt并读取内容
with open('marks.txt', 'r') as f:
lines = f.readlines()
# 将每行的姓名和成绩分别存储到字典中
students = {}
for line in lines:
name, score = line.split()
students[name] = int(score)
# 按成绩从高到低排序
sorted_students = sorted(students.items(), key=lambda x: x[1], reverse=True)
# 将排序后的结果输出到文件sorted.txt中
with open('sorted.txt', 'w') as f:
for student in sorted_students:
f.write(student[0] + ' ' + str(student[1]) + '\n')
```
这个程序首先打开marks.txt文件并读取所有内容,然后将每行的姓名和成绩分别存储到一个字典中。接着,使用Python的sorted函数对字典按照成绩从高到低进行排序,并将排序后的结果输出到文件sorted.txt中。
设一个文本文件marks txt中存储了学生的姓名及成绩如下 张三 96 李四 95 每行为学生姓名与成绩,编写一个程序读取这些学生的姓名与成绩并按成绩从高到底的顺序输出到另外一个文件sorted.txt中。
好的,以下是 Python 的代码实现:
```python
# 读取 marks.txt 文件
with open("marks.txt", "r") as f:
data = f.readlines()
# 处理数据,将每行分割成姓名和成绩两个部分
marks = []
for line in data:
name, score = line.strip().split(" ")
marks.append((name, int(score)))
# 按成绩从高到低排序
sorted_marks = sorted(marks, key=lambda x: x[1], reverse=True)
# 将排序后的结果写入 sorted.txt 文件
with open("sorted.txt", "w") as f:
for item in sorted_marks:
f.write("{} {}\n".format(item[0], item[1]))
```
以上代码将会读取当前目录下的 marks.txt 文件,并将每行的姓名和成绩读入到一个列表中。然后使用 Python 中的 `sorted` 函数对这个列表按成绩从高到低进行排序,最后将排序后的结果写入到当前目录下的 sorted.txt 文件中。
阅读全文