列表中的数据统计的实现。 要求:定义一个列表,存储一个班级所有学生某科目考试的成绩等级,编写程序,统计输出各级别的人数,并按各级别人数的倒序输出。
时间: 2024-10-22 22:04:23 浏览: 22
首先,我们需要创建一个包含成绩等级的列表。例如,我们可以将“优秀”、“良好”、“及格”和“不及格”作为等级,并定义一个示例列表。然后我们可以通过遍历列表计算每个等级的学生人数,最后按照人数倒序排列。
以下是Python的一个实现例子:
```python
# 示例成绩等级和对应列表
grades = ["优秀", "良好", "及格", "不及格"]
student_scores = [3, 2, "优秀", "良好", "及格", "不及格", "优秀", "及格"]
# 定义一个字典,用于存储每个等级的人数
grade_count = {grade: 0 for grade in grades}
# 遍历列表,统计每个等级的人数
for score in student_scores:
if isinstance(score, str): # 检查是否为字符串表示的成绩等级
grade_count[score] += 1
# 按照人数倒序排序并打印结果
sorted_grades = sorted(grade_count.items(), key=lambda x: x[1], reverse=True)
for grade, count in sorted_grades:
print(f"{grade}: {count}人")
```
在这个代码中,我们使用了一个字典来存储每个等级及其对应的人数,然后通过`sorted`函数根据值(即人数)进行降序排列。运行此代码,你会得到各级别的学生人数以及它们的倒序排序。
相关问题
定义一个列表,存储一个班级所有学生某 科目考试的成绩等级,编写程序,统计输出各级 别的人数。
好的,以下是 Python 代码实现:
```python
# 定义一个存储成绩等级的列表
grades = ['A', 'B', 'C', 'D', 'E']
# 模拟班级某科目的成绩等级
scores = ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'C', 'D', 'E', 'E', 'E', 'A']
# 定义一个字典,用于统计各等级的人数
count_dict = dict(zip(grades, [0] * len(grades)))
# 遍历成绩列表,统计各等级的人数
for score in scores:
count_dict[score] += 1
# 输出结果
for grade, count in count_dict.items():
print('等级{}的人数为:{}'.format(grade, count))
```
运行结果如下:
```
等级A的人数为:4
等级B的人数为:2
等级C的人数为:3
等级D的人数为:2
等级E的人数为:3
```
定义一个列表,存储一个班级所有学生某科目考试的成绩等级,编写程序,利用字典统计输出各级别的人数,并将各级别人数倒序输出。
好的,以下是 Python 代码实现:
```python
# 定义列表存储成绩等级
score_list = ['A', 'B', 'C', 'D', 'E', 'F']
# 定义班级学生的成绩等级
class_scores = ['B', 'C', 'A', 'D', 'C', 'B', 'E', 'F', 'A', 'B', 'C', 'A', 'D', 'F', 'E', 'B', 'C', 'B']
# 定义字典存储各成绩等级人数
score_dict = {}
for score in score_list:
score_dict[score] = class_scores.count(score)
# 将字典按值进行排序
sorted_dict = dict(sorted(score_dict.items(), key=lambda item: item[1], reverse=True))
# 输出各成绩等级人数
for score, count in sorted_dict.items():
print("等级%s的人数为%d" % (score, count))
```
输出结果:
```
等级B的人数为5
等级C的人数为4
等级A的人数为3
等级D的人数为2
等级E的人数为2
等级F的人数为2
```
这样就能够实现所需的功能了。
阅读全文