随机生成一个长度为50的列表,存储一个班级50名学生其科日考试的成绩等级,编写程序,统计输出各级別的人数,并按照各级别人数大小降序输出
时间: 2024-01-15 22:05:24 浏览: 74
以下是 Python 代码实现:
``` python
import random
grades = ['A', 'B', 'C', 'D', 'E']
scores = [random.choice(grades) for _ in range(50)] # 随机生成长度为50的列表
count = {grade: scores.count(grade) for grade in grades} # 统计各级别人数
sorted_count = sorted(count.items(), key=lambda x: x[1], reverse=True) # 按各级别人数大小降序排序
for grade, num in sorted_count:
print(f"{grade}: {num}")
```
说明:
1. 使用 `random.choice(grades)` 随机从 `grades` 中选择一个元素,循环50次生成长度为50的列表 `scores`。
2. 使用列表推导式和 `count()` 方法统计各级别人数,生成字典 `count`。
3. 使用 `sorted()` 函数和 `lambda` 表达式按字典值(即各级别人数)降序排序,生成按降序排列的元组列表 `sorted_count`。
4. 循环打印输出各级别人数。
阅读全文