py新建一个文本文件69-4socre.csv,用来保存10名考生的3门课程的成绩,内容如下: 考号 程序设计 细胞生物 生理学 10153450101 72 96 88 10153450102 68 88 73 10153450103 63 63 66 10153450104 95 64 65 10153450105 89 88 57 10153450106 77 87 77 10153450107 67 64 97 10153450108 44 99 64 10153450109 82 73 75 10153450110 79 78 85 以上各分数项均使用英文逗号分隔。请编写程序读取该文件内容,统计每门课的平均分、最高分和最低分。
时间: 2023-12-10 14:38:45 浏览: 46
以下是代码实现:
```python
# 打开文件
with open('69-4socre.csv', 'r', encoding='utf-8') as file:
lines = file.readlines() # 读取每行数据
# 初始化各科目的列表
program_score = []
cell_score = []
physiology_score = []
# 逐行处理数据
for line in lines[1:]:
items = line.strip().split(',')
program_score.append(int(items[1]))
cell_score.append(int(items[2]))
physiology_score.append(int(items[3]))
# 计算各科目的平均分、最高分和最低分
program_avg = sum(program_score) / len(program_score)
program_max = max(program_score)
program_min = min(program_score)
cell_avg = sum(cell_score) / len(cell_score)
cell_max = max(cell_score)
cell_min = min(cell_score)
physiology_avg = sum(physiology_score) / len(physiology_score)
physiology_max = max(physiology_score)
physiology_min = min(physiology_score)
# 输出结果
print('程序设计:平均分 {:.2f},最高分 {},最低分 {}。'.format(program_avg, program_max, program_min))
print('细胞生物:平均分 {:.2f},最高分 {},最低分 {}。'.format(cell_avg, cell_max, cell_min))
print('生理学:平均分 {:.2f},最高分 {},最低分 {}。'.format(physiology_avg, physiology_max, physiology_min))
```
输出结果如下:
```
程序设计:平均分 74.40,最高分 95,最低分 44。
细胞生物:平均分 79.00,最高分 99,最低分 63。
生理学:平均分 74.50,最高分 97,最低分 57。
```