统计班级成绩

班主任要统计班级中所有同学的成绩,但是语文老师在给班主任提供数据的时候提供的数据没有区分不同的信息,把所有的学生姓名和成绩一起提供给了班主任。请帮班主任识别语文老师提供的字符串,解析出成绩和姓名,输出班级平均分,以及最高分同学姓名和成绩,最低分学生姓名和成绩。

输入格式:

一个包含了姓名(拼音,并且姓名中不带数字)和成绩的字符串。成绩在0-100之间

输出格式:

输出三行数据,每个数字保留小数点后1位

第一行班级平均成绩

第二行班级最高分姓名和成绩,如果有多个最高分,取最前1个人

第三行班级最低分姓名和成绩,如果有多个最低分,取最前1个人

输入样例:

Zhangsan90lisi85wangwu55.5liuyuxi72malong99.5zhaosiguo65yuguoqin88
 

输出样例:

79.3
malong 99.5
wangwu 55.5


s1=input()
s2=s1.lower()
for c in 'abcdefghijklmnopqrstuvwxyz':
    s2=s2.replace(c, ' ')
lt=list(s2.split(' '))
scores=list()
for i in lt:
    if i != '':
        scores.append(eval(i))
#print(scores)

#取名字
s2=s1
for c in '01234567890.':
    s2=s2.replace(c, ' ')
lt=list(s2.split(' '))
names=list()
for i in lt:
    if i != '':
        names.append(i)
#print(names)

#取平均分
sum=0
min=0
max=0
for i in range(len(scores)):
    sum+=scores[i]
    if scores[i]>scores[max]:
        max=i
    if scores[i]<scores[min]:
        min=i
print('%.1f' % (sum/len(scores)))
print('%s %.1f' % (names[max], scores[max]))
print('%s %.1f' % (names[min], scores[min]))

 

posted @ 2022-01-11 20:13  一斜星辰酱  阅读(374)  评论(0编辑  收藏  举报