读取score.csv文件,文件内容是一门课程一个班的学生成绩,第一列(No) 为学 ,第二列(usual)为平时成绩,第三列 (project)为课内项目成绩,第四列 (exec)为期未考试成绩.得到每名学生的总成绩,计算学生的总平均成绩,再计算学生总成绩的方差,最终建立一个score res.ison文件,以ison格式存储计算结果,并且不用多余的库计算方差
时间: 2024-03-19 22:43:08 浏览: 113
python数学实验与建模 司守奎的程序及数据文件.zip
好的,以下是处理score.csv文件并计算学生总成绩和方差的Python代码:
```python
import json
# 读取score.csv文件并处理成字典
data = {}
with open('score.csv', 'r', encoding='utf-8') as f:
lines = f.readlines()
for line in lines:
items = line.strip().split(',')
if items[0] == 'No': # 跳过表头
continue
no = int(items[0])
usual = float(items[1])
project = float(items[2])
exec = float(items[3])
total = usual * 0.2 + project * 0.3 + exec * 0.5 # 计算总成绩
data[no] = {'usual': usual, 'project': project, 'exec': exec, 'total': total}
# 计算学生总平均成绩
total_sum = 0
for no in data:
total_sum += data[no]['total']
total_mean = total_sum / len(data)
# 计算学生总成绩的方差
var_sum = 0
for no in data:
var_sum += (data[no]['total'] - total_mean) ** 2
variance = var_sum / len(data)
# 将计算结果存储为ison格式文件
result = {'total_mean': total_mean, 'variance': variance}
with open('score_res.json', 'w', encoding='utf-8') as f:
json.dump(result, f, ensure_ascii=False, indent=4)
```
代码中,首先读取score.csv文件并将其处理成一个字典,字典的键为学生的编号,值为一个包含平时成绩、课内项目成绩、期未考试成绩和总成绩的字典。然后计算出学生总成绩的平均值和方差,并将计算结果存储为一个ison格式的文件。
阅读全文