文件score.txt保存了学生的平时成绩和期末成绩,内容如下: 学号,平时成绩,期末成绩 9999180101,77,88 9999180102,91,85 9999180103,87,96 9999180104,70,68 9999180105,86,72 编写程序读取所有成绩,计算总评成绩(四舍五入到整数),其中总评成绩=平时成绩40%+期末成绩60%。最后按总评成绩降序排列后保存至一个新的文件内,文件内容应该如下
时间: 2023-09-11 21:07:46 浏览: 382
学号,总评成绩
9999180103,91
9999180102,89
9999180105,81
9999180101,82
9999180104,69
以下是Python代码实现:
```python
# 读取文件
with open('score.txt', 'r') as f:
lines = f.readlines()
# 计算总评成绩
scores = []
for line in lines:
info = line.strip().split(',')
num = info[0]
regular_score = int(info[1])
final_score = int(info[2])
total_score = round(regular_score * 0.4 + final_score * 0.6)
scores.append((num, total_score))
# 按总评成绩降序排列
scores = sorted(scores, key=lambda x: x[1], reverse=True)
# 写入文件
with open('result.txt', 'w') as f:
f.write('学号,总评成绩\n')
for score in scores:
f.write('{},{}\n'.format(score[0], score[1]))
```
执行完毕后,会生成一个名为 result.txt 的文件,其中包含了按总评成绩降序排列的学生信息。
阅读全文