已知某年级有1000人,考试成绩为40-100之间的随机整数,请用直方图统计不及格(<60)、及格(60<=score<70)、中等(70<=score<80)、良好(80<=score<90)、优秀(90<=score<=100)。
时间: 2023-11-04 17:27:00 浏览: 102
好的,我可以帮你完成这个任务。以下是代码示例:
```python
import random
import matplotlib.pyplot as plt
# 生成1000名学生的成绩
grades = [random.randint(40,100) for _ in range(1000)]
# 统计不同分数段的人数
bins = [0,60,70,80,90,100]
labels = ["不及格", "及格", "中等", "良好", "优秀"]
hist, _ = np.histogram(grades, bins=bins)
# 绘制直方图
plt.bar(labels, hist, align='center')
plt.xlabel('成绩')
plt.ylabel('人数')
plt.title('成绩分布')
plt.show()
```
这段代码会生成一个直方图,用不同的颜色表示不同分数段的学生人数。你可以根据需要调整代码中的参数。
阅读全文