3 编写一个程序,读取txt文件中保存的10个学生成绩名单信息(学号,姓名, Python课程分数); 然后按照分数从高到低进行排序输出
时间: 2024-12-04 15:26:27 浏览: 47
要编写这样一个程序,首先你需要创建一个TXT文件,其中包含学生的学号、姓名和Python课程分数,每行分别代表一个学生的信息。假设格式如下:
```
学号 姓名 Python分数
123456 张三 92
789012 李四 98
...
```
然后,可以使用Python的`csv`模块来读取这种逗号分隔的数据,并利用列表推导式对成绩进行排序。下面是一个示例程序:
```python
import csv
# 打开并读取txt文件
with open('scores.txt', 'r', newline='') as file:
reader = csv.reader(file)
scores_data = [row for row in reader]
# 提取分数部分,转换为整数并存入一个新的列表
scores = [int(score[2]) for score in scores_data]
# 将原始数据和分数对应起来
sorted_students = sorted(zip(scores_data, scores), key=lambda x: x[1], reverse=True)
# 输出排序后的结果
for student_info, score in sorted_students:
print(f"学号: {student_info[0]}, 姓名: {student_info[1]}, 分数: {score}")
```
这个程序首先读取TXT文件,然后提取每个学生的Python分数,通过`sorted()`函数按照分数降序排列,最后按照新的顺序打印出学生信息。
阅读全文