分别用文本文件和CSV文件保存5个学生的课程成绩。编写一个程序,从文件读取成绩,计算总分,按总分按从高到低的顺序输出。
时间: 2024-02-22 15:56:47 浏览: 181
好的,以下是实现这个功能的Python代码示例:
```python
import csv
# 读取文本文件中的成绩
with open('score.txt', 'r') as f:
lines = f.readlines()
scores = []
for line in lines:
score = line.strip().split(',')
scores.append(score)
# 读取CSV文件中的成绩
with open('score.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
scores.append(row)
# 计算总分
total_scores = {}
for score in scores:
name = score[0]
total = sum(map(int, score[1:]))
total_scores[name] = total
# 按总分从高到低排序并输出
sorted_scores = sorted(total_scores.items(), key=lambda x: x[1], reverse=True)
for name, total in sorted_scores:
print(name, total)
```
其中,`score.txt`和`score.csv`分别是保存成绩的文本文件和CSV文件,每行数据格式为`姓名,成绩1,成绩2,成绩3,...`。程序先读取两个文件中的成绩,然后计算每个学生的总分并保存到一个字典中,最后按总分从高到低排序并输出。
阅读全文