7-5 计算每个学生的平均成绩

7-5 计算每个学生的平均成绩
分数 15
作者 殷伟凤
单位 浙江传媒学院
输入所有学生的姓名和成绩,以#结束。输出每个学生的平均成绩表。

输入格式:
每一行输入一个学生的姓名和成绩,以空格分隔。
输入完成后以#结束

输出格式:
每行显示一个学生的姓名和平均成绩,姓名占8位宽度,平均成绩保留两位小数点。姓名和平均成绩之间用空格隔开。

输入样例1:
在这里给出一组输入。例如:

Maria 20
David 10
Bob 15
David 20

输出样例1:
在这里给出相应的输出。例如:

姓 名 平均成绩
Maria 20.00
David 15.00
Bob 15.00
输入样例2:
在这里给出一组输入。例如:

韩思 80
杨世忆 70
徐晓畅 100
黄嘉 95
刘天宇 60
叶鸿 80
韩思 85
杨世忆 65
徐晓畅 100
黄嘉 90
刘天宇 80
刘天宇 90
徐晓畅 100
徐晓畅 100
徐晓畅 100

输出样例2:
在这里给出相应的输出。例如:

姓 名 平均成绩
韩思 82.50
杨世忆 67.50
徐晓畅 100.00
黄嘉 92.50
刘天宇 76.67
叶鸿 80.00
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

d = {}
while True:
    s = input().split()
    if s[0] == "#":
        break
    if s[0] in d:
        l = d.get(s[0])
        l[0] += eval(s[1])
        l[1] += 1
    else:
        d[s[0]] = [eval(s[1]), 1]

for k,v in d.items():
    d[k] = round(v[0] / v[1], 2)
print("姓 名","平均成绩",sep="     ")
for k,v in d.items():
    print(f"{k}{' ' * (8 -len(k))}",f"{v:.2f}",sep=" ")
    

你可能感兴趣的:(Python小题,开发语言,python,数据结构,算法)