如图片所示,分别计算总成绩、班级出勤率、总成绩平均分,按图一要求编程,成绩表文件见下面的图片
初学,越简单越好
csv文件共享一下呗
班级出勤率和平均总成绩要保存在哪里?
import csv
students = {}
all_absence = 0
with open("成绩表.csv") as f:
r = csv.reader(f)
next(r)
for i in r:
absence = i[1:4].count('0')
all_absence += absence
score = 10-absence*3+eval("+".join(i[4:7]))*0.1+eval(i[7])*0.2+eval(i[8])*0.4
students[i[0]]=score
attendance_rate = round(1-all_absence/(len(students)*3))
avg_score = round(sum(students.values())/len(students))
print(f"班级出勤率:{attendance_rate*100}%")
print(f"总成绩平均分:{avg_score}")
with open("最终成绩.csv",mode='w',newline="") as f:
w = csv.writer(f)
w.writerow(("姓名","总成绩"))
w.writerows(students.items())