用python写成绩等级分为A、B、C、D、E、F共6档,依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号。输出格式为: 等级:人数 学号 学号 输入格式: 输入若干行的学号,成绩等级,以#结束。(输入的学号假设唯一) 输出格式: 输出所有等级的人数,并在每个等级的下方输出所有该等级的学号,每个学号后面都有2个空格。
时间: 2024-03-13 15:46:24 浏览: 73
用Python编程实现学生成绩管理,能按学期、按班级对学生成绩进行录入、修改、统计、查询和输出
好的,这个问题我可以帮你解决。下面是代码实现:
```python
# 定义字典用于存储不同等级的学生
students_dict = {
'A': [],
'B': [],
'C': [],
'D': [],
'E': [],
'F': []
}
# 统计每个等级的人数
students_count = {
'A': 0,
'B': 0,
'C': 0,
'D': 0,
'E': 0,
'F': 0
}
# 循环读入学生信息
while True:
info = input().split()
if info[0] == '#': # 输入以 # 结束
break
id = info[0]
level = info[1]
students_dict[level].append(id) # 将学生加入对应等级的列表中
students_count[level] += 1 # 对应等级的人数加一
# 输出结果
for level in ['A', 'B', 'C', 'D', 'E', 'F']:
print('{}: {}'.format(level, students_count[level]))
for id in students_dict[level]:
print(id, end=' ')
print()
```
代码解释:
首先定义了两个字典,一个用于存储不同等级的学生,另一个用于统计每个等级的人数。然后利用 while 循环不断读入学生信息,直到输入以 # 结束。每次读入学生信息后,将学生的学号加入对应等级的列表中,同时对应等级的人数加一。最后循环输出每个等级的人数,并在每个等级的下方输出所有该等级的学号。
注意事项:
1. 输入的每行学生信息需要用空格隔开。
2. 等级需要大写字母表示。
3. 每个学号后面需要有两个空格。
阅读全文