统计班级成绩

班主任要统计班级中所有同学的成绩,但是语文老师在给班主任提供数据的时候提供的数据没有区分不同的信息,把所有的学生姓名和成绩一起提供给了班主任。请帮班主任识别语文老师提供的字符串,解析出成绩和姓名,输出班级平均分,以及最高分同学姓名和成绩,最低分学生姓名和成绩。
输入格式:
一个包含了姓名(拼音,并且姓名中不带数字)和成绩的字符串。成绩在0-100之间
输出格式:
输出三行数据,每个数字保留小数点后1位
第一行班级平均成绩
第二行班级最高分姓名和成绩,如果有多个最高分,取最前1个人
第三行班级最低分姓名和成绩,如果有多个最低分,取最前1个人
输入样例:
Zhangsan90lisi85wangwu55.5liuyuxi72malong99.5zhaosiguo65yuguoqin88
输出样例:
79.3
malong 99.5
wangwu 55.5

userIn = input()
classList = []
name = ""
score = ""
changeSign = False
for i in userIn:
    if (i.isdigit() or i == "."):
        score += i
        changeSign = True
    else:
        if changeSign == True:
            classList.append([name, float(score)])
            name = ""
            score = ""
            changeSign = False
        name += i
classList.append([name, float(score)])
sum = 0
minS = classList[0][:]
maxS = classList[0][:]
for i in classList:
    sum += i[1]
    if i[1] > maxS[1]:
        maxS = i
    elif i[1] < minS[1]:
        minS = i
print("%.1f"%(sum / len(classList)))
print("%s %.1f"%(maxS[0],maxS[1]))
print("%s %.1f"%(minS[0],minS[1]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值