python请编写程序从该文件中读出数据进行分析,得出 如下汇总结果输出,并存入到文本文件cjhz.xt 中。 1、求出总平均分; 2、优秀人数(成绩>-90); 3、不及格人数(成绩<60); 4、最高分学生姓名及成绩;5、最低分学生姓名及成绩。
时间: 2024-02-21 09:59:26 浏览: 54
好的,以下是修改后的Python代码实现:
```python
# 读取文件
with open('chengjibiao.txt', 'r') as f:
lines = f.readlines()
# 初始化变量
total_score = 0
excellent_count = 0
fail_count = 0
max_score = 0
max_name = ''
min_score = 100
min_name = ''
# 遍历每行记录
for line in lines:
name, score = line.strip().split(',')
score = int(score)
# 计算总成绩
total_score += score
# 判断是否为优秀成绩
if score > 90:
excellent_count += 1
# 判断是否为不及格成绩
if score < 60:
fail_count += 1
# 记录最高分和最低分学生信息
if score > max_score:
max_score = score
max_name = name
if score < min_score:
min_score = score
min_name = name
# 计算平均分
average_score = total_score / len(lines)
# 输出结果
with open('cjhz.txt', 'w') as f:
f.write('总平均分:%.2f\n' % average_score)
f.write('优秀人数:%d\n' % excellent_count)
f.write('不及格人数:%d\n' % fail_count)
f.write('最高分学生:%s,成绩:%d\n' % (max_name, max_score))
f.write('最低分学生:%s,成绩:%d\n' % (min_name, min_score))
```
这段代码在上一个问题的基础上,增加了记录最低分学生信息的功能。同样的,假设`chengjibiao.txt`文件中每行记录的格式为“姓名,成绩”,且姓名和成绩之间用逗号分隔。如果文件格式不同,需要相应地修改代码。
阅读全文