【问题描述】1ban.csv文件中存放了班级同学的平时成绩与期末成绩,课程总成绩中平时占比为4,期末占比为6。因为仅存储有1ban.csv文件,如果文件名输入错误请让同学重新输入,用户可能会多次输入错误;如果文件名正确,读取班级信息,输出班级中总评不合格的同学学号与总评成绩。
【输入形式】输入信息是班级文件的名称与文件类型
1ban.csv
【输出形式】输出班级中不合格同学的学号与总评成绩
【样例输入】
学号,平时成绩,期末成绩
0001,91,47
0002,71,25
0003,81,30
0004,85,74
【样例输出】
学号 总分
0002 43.4
0003 50.4
0005 49.2
0006 57.4
0007 43.8
0009 56.2
0010 28.4
0013 42.2
0014 46.2
0016 37.4
0019 55.8
0021 36.8
0022 48.8
【样例输入】提示:该样例中因为文件名错误,用户重新输入了1ban.csv
2ban.csv
1ban.csv
【样例输出】
班级不存在
学号 总分
0002 43.4
0003 50.4
0005 49.2
0006 57.4
0007 43.8
0009 56.2
0010 28.4
0013 42.2
0014 46.2
【样例说明】
【评分标准】
import csv
while True:
a=input()
if a!="1ban.csv":
print("班级不存在")
a=input()
else:
break
b=[]
with open(a, 'r', encoding='utf-8') as file:
f=file.read().split("\n")
f.pop(0)
for ff in f:
b.append(ff.split(","))
print("学号","总分")
for i in b:
if int(i[1])*0.4+int(i[2])*0.6<60:
print("{} {:.1f}".format(i[0],int(i[1])*0.4+int(i[2])*0.6))
if int(i[1])*0.4+int(i[2])*0.6==40.8:
break