python编写一个程序,读取文件中保存的10个学生成绩名单信息(学号,姓名, Python课程分数); 然后按照分数从高到低进行排序输出
时间: 2024-02-13 22:02:26 浏览: 148
好的,下面是一个实现这个功能的 Python 程序:
```python
def read_scores(filename):
scores = []
with open(filename, 'r') as f:
for line in f:
student_id, name, score = line.strip().split(',')
scores.append((student_id, name, int(score)))
return scores
def sort_scores(scores):
return sorted(scores, key=lambda x: x[2], reverse=True)
def print_scores(scores):
for student_id, name, score in scores:
print(f'{student_id}\t{name}\t{score}')
scores = read_scores('scores.txt')
sorted_scores = sort_scores(scores)
print_scores(sorted_scores)
```
这个程序分为三个部分:
1. `read_scores(filename)` 函数读取文件中的学生成绩信息,并将其转化为一个列表,其中每个元素是一个元组,包含学号、姓名和 Python 课程分数。
2. `sort_scores(scores)` 函数根据分数从高到低排序学生成绩列表。
3. `print_scores(scores)` 函数将排序后的学生成绩列表输出。
你可以将学生成绩信息保存在 `scores.txt` 文件中,每行一个学生的信息,格式为:学号,姓名,分数。
注意,这个程序假定了你的输入是合法的,即每行都包含三个用逗号分隔的字段,并且第三个字段可以转化为整数。如果输入不合法,程序可能会崩溃或输出错误的结果。在实际使用中,你需要根据具体情况进行修改和补充。
阅读全文