成绩等级分为A BCDE F共六档 依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号
时间: 2023-05-28 07:02:10 浏览: 298
以及人数(假设学号为5位数字)。统计完毕后,按照成绩等级从高到低输出学号和等级。
输入格式:
第一行输入一个正整数n,表示学生数。
接下来n行,每行输入一个五位数字的学号和一个大写字母表示的成绩等级,两者之间有一个空格隔开。
输出格式:
输出6行,分别输出A到F等级的学号和人数,每行格式为:“等级 学号1 学号2 ... 数量”。
紧接着输出按照成绩等级从高到低的学生信息,每行格式为:“学号 等级”。
输入样例:
10
10001 A
10002 B
10003 A
10004 C
10005 D
10006 A
10007 F
10008 A
10009 A
10010 A
输出样例:
A 10001 10003 10006 10008 10009 5
B 10002 1
C 10004 1
D 10005 1
E 0
F 10007 1
10001 A
10003 A
10006 A
10008 A
10009 A
10002 B
10004 C
10005 D
10007 F
相关问题
成绩等级分为A、B、C、D、E、F共6档,依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号。输出格式为: 等级:人数 学号 学号
好的,这是一个统计学生成绩等级的程序。以下是代码实现:
```python
# 定义等级列表和统计字典
levels = ['A', 'B', 'C', 'D', 'E', 'F']
count_dict = {level: [] for level in levels}
# 循环输入学生学号和成绩等级
while True:
try:
info = input().split()
if len(info) != 2: # 输入格式不正确,跳过
continue
sid, level = info
if level not in levels: # 等级错误,跳过
continue
count_dict[level].append(sid) # 统计人数
except: # 输入结束,退出循环
break
# 输出各等级的人数和学号
for level, ids in count_dict.items():
print(f'{level}:{len(ids)}', end=' ')
print(*ids)
```
这个程序首先定义了等级列表和统计字典,用于存储每个等级的学生学号。然后通过循环输入学生学号和成绩等级,判断输入格式是否正确,如果正确则将该学生的学号添加到对应的等级列表中。最后遍历统计字典,输出各等级的人数和学号。
注意,这个程序只是一个简单的示例,没有进行异常处理和输入验证,实际使用时需要根据具体需求进行修改。
python成绩等级分为A、B、C、D、E、F共6档,依次输入学生的学号,成绩等级。对各等级的人数进行统计并输出该等级的学号。输出格式为: 等级:人数 学号 学号
好的,以下是 Python 代码示例:
```python
# 初始化每个成绩等级的人数为0
grade_counts = {"A": 0, "B": 0, "C": 0, "D": 0, "E": 0, "F": 0}
# 初始化每个成绩等级的学号列表为空
grade_students = {"A": [], "B": [], "C": [], "D": [], "E": [], "F": []}
while True:
# 依次输入学生的学号和成绩等级,输入 -1 表示输入结束
student_id = input("请输入学生的学号:")
if student_id == "-1":
break
grade = input("请输入学生的成绩等级:")
# 统计该成绩等级的人数,并将该学生的学号加入该等级的学号列表中
grade_counts[grade] += 1
grade_students[grade].append(student_id)
# 输出每个成绩等级的人数和学号列表
for grade, count in grade_counts.items():
students = " ".join(grade_students[grade])
print(f"{grade}:{count} {students}")
```
运行程序后,依次输入学生的学号和成绩等级,输入 -1 表示输入结束。程序将会输出每个成绩等级的人数和学号列表,格式与题目要求相同。