3. 计算文件中学生总成绩,找出成绩不合格的同学

【问题描述】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
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值