用python写成绩等级分为A、B、C、D、E、F共6档,依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号。输出格式为: 等级:人数 学号 学号 输入格式: 输入若干行的学号,成绩等级,以#结束。(输入的学号假设唯一) 输出格式: 输出所有等级的人数,并在每个等级的下方输出所有该等级的学号,每个学号后面都有2个空格。
时间: 2024-03-14 07:42:53 浏览: 11
好的,我可以帮你解决这个问题。以下是代码实现:
```python
grades = {'A': [], 'B': [], 'C': [], 'D': [], 'E': [], 'F': []}
count = {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0}
while True:
line = input()
if line == '#':
break
student_id, grade = line.split()
grades[grade].append(student_id)
count[grade] += 1
for grade, num in count.items():
print('{}: {}'.format(grade, num))
for student_id in grades[grade]:
print(student_id, end=' ')
print()
```
在这个代码中,我们使用了两个字典,一个用来存储每个等级的学生学号,另一个用来统计每个等级的人数。我们通过一个无限循环不断读入学生的学号和等级,直到输入了 # 停止循环。在读入时,我们将学号加入对应等级的学生列表中,同时将该等级的人数加1。最后,我们遍历每个等级,输出对应等级的人数及所有该等级的学号。
注意,为了输出格式的要求,我们在输出学号时使用了 end=' ',使输出的结果每个学号后面都有两个空格。