根据已给出的同学的6次作业的成绩(score1.csv至score6.csv),求出每个同学的平均成绩,并将结果存入到文件AveScore.csv中。AveScore中的数据结构为:
学号,姓名,1,2,3,4,5,6,平均成绩
score1.csv至score6.csv的数据结构是什么?
比如是
import csv
res = [['学号','姓名','平均成绩']]
for i in range(2):
with open(f"score{i+1}.csv","r",newline="", encoding='utf-8') as fileObj:
li = list(csv.reader(fileObj))
print(li)
sno = li[1][0]
name = li[1][1]
sli = list(map(float,li[1][2:]))
print(sli)
avg = sum(sli)/len(sli)
res.append([sno,name,avg])
print(res)
with open("AveScore.csv","w",newline="", encoding='utf-8') as fileObj:
csv.writer(fileObj).writerows(res)
结果
如果score1.csv至score6.csv是这样数据结构
import csv
res = [['学号','姓名']]
for i in range(6):
with open(f"score{i+1}.csv","r",newline="", encoding='utf-8') as fileObj:
li = list(csv.reader(fileObj))
if i==0:
for i in range(1,len(li)):
res.append(li[i][0:2])
res[0].append(f'成绩{i+1}')
for i in range(1,len(li)):
res[i].append(float(li[i][2]))
res[0].append('平均成绩')
for v in res[1:]:
sli = v[2:]
print(sli)
avg = sum(sli)/len(sli)
v.append(avg)
print(res)
with open("AveScore.csv","w",newline="", encoding='utf-8') as fileObj:
csv.writer(fileObj).writerows(res)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632