score_dict = {}while True: input_str = input().strip() if input_str == '#': break name, score = input_str.split() score = int(score) if name in score_dict: score_dict[name].append(score) else: score_dict[name] = [score]print('姓 名 平均成绩')for name, scores in sorted(score_dict.items()): avg_score = sum(scores) / len(scores) print('{:<8} {:.2f}'.format(name, avg_score))
时间: 2023-07-15 18:10:38 浏览: 216
这段代码实现了一个简单的成绩统计功能,可以输入多个姓名和对应的成绩,最后输出每个姓名对应的平均成绩。
具体来说,代码中使用一个字典 `score_dict` 来存储每个姓名对应的成绩列表,然后通过一个循环不断接受用户的输入。当用户输入 `#` 时,表示输入结束,循环结束。
对于每一次输入,代码会先通过 `split()` 方法将输入的字符串拆分成姓名和成绩两个部分。然后将成绩转换成整数,并判断该姓名是否已经在字典中存在。如果已经存在,则将当前成绩添加到对应的成绩列表中;否则就新建一个成绩列表并将对应的姓名和成绩列表添加到字典中。
最后,代码通过 `sorted()` 函数对字典的键值进行排序,并遍历每个姓名对应的成绩列表,计算出平均成绩并输出到屏幕上。输出格式使用了格式化字符串的方式,其中 `<8` 表示左对齐并占用 8 个字符的空间,`.2f` 表示保留两位小数的浮点数。
阅读全文
相关推荐



















