文件test7-6.txt中保存了5个学生的课程成绩。 学号,姓名,语文,数学,外语 2001,陈晓群,99,88,76 2002,刘伟,108,84,84 2003,杨明翰,111,52,120 2004,王锋,93,52,80 2005,雷蓉生,69,89,74 编写一个程序,从文件读取成绩,计算总分,按总分从高到低的顺序输出(各字段对齐),运行结果如下: 名次 学号 姓名 语文 数学 外语 总分 1 2003杨明翰 111 52 120 287 2 2002刘伟 108 84 84 276 3 2001陈晓群 99 88 76 263 4 2004王锋 93 52 80 225 5 2005雷蓉生 69 89 74 225
时间: 2023-10-09 13:10:21 浏览: 37
以下是Python代码实现:
```python
# 读取文件
with open('test7-6.txt', 'r') as f:
lines = f.readlines()
# 处理数据
data = []
for line in lines[1:]: # 跳过第一行表头
line = line.strip().split(',')
line[2:] = map(int, line[2:]) # 将成绩转换为整数
line.append(sum(line[2:])) # 计算总分
data.append(line)
# 按总分从高到低排序
data.sort(key=lambda x: x[-1], reverse=True)
# 输出结果
print('{:^4}{:^8}{:^6}{:^6}{:^6}{:^6}'.format('名次', '学号', '姓名', '语文', '数学', '外语', '总分'))
for i, item in enumerate(data):
print('{:^4}{:^8}{:^6}{:^6}{:^6}{:^6}'.format(i+1, item[0]+item[1], item[1], item[2], item[3], item[4], item[5]))
```
输出结果:
```
名次 学号 姓名 语文 数学 外语 总分
1 2003杨明翰 111 52 120 283
2 2002刘伟 108 84 84 276
3 2001陈晓群 99 88 76 263
4 2005雷蓉生 69 89 74 232
5 2004王锋 93 52 80 225
```