用python写成绩等级分为A、B、C、D、E、F共6档,依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号。输出格式为: 等级:人数 学号 学号 输入格式: 输入若干行的学号,成绩等级,以#结束。(输入的学号假设唯一) 输出格式: 输出所有等级的人数,并在每个等级的下方输出所有该等级的学号,每个学号后面都有2个空格。
时间: 2024-03-14 16:43:56 浏览: 345
好的,这是一个比较简单的Python问题,我会帮你解决。下面是代码实现及注释说明:
```python
# 定义一个字典,用于存储各等级的人数和学号
score_dict = {'A':[], 'B':[], 'C':[], 'D':[], 'E':[], 'F':[]}
# 循环输入学号、成绩等级
while True:
input_str = input().strip()
# 如果输入以#结束则退出循环
if input_str == '#':
break
else:
# 将输入字符串按空格分割成学号和成绩等级
stu_id, score_level = input_str.split()
# 将学号加入对应等级的列表中
score_dict[score_level].append(stu_id)
# 遍历字典,输出各等级的人数和学号
for score_level, stu_list in score_dict.items():
# 输出等级和人数
print(score_level + ':' + str(len(stu_list)), end=' ')
# 输出学号
for stu_id in stu_list:
print(stu_id, end=' ')
# 换行
print()
```
你可以将以上代码保存为一个.py文件,在命令行或者PyCharm等Python开发环境中运行该文件,输入学号和成绩等级,最后会输出各等级的人数和学号。注意,输入的学号假设唯一,如果存在相同的学号,则只会输出一次。
阅读全文