生成200个学生成绩数据,统计不及格、及格、中等、良好和优秀的占比 python
时间: 2024-11-27 22:17:49 浏览: 16
在Python中,我们可以创建一个包含随机成绩的数据集,然后按照标准划分成绩并计算比例。首先需要导入random模块来生成随机分数,然后利用字典来存储成绩分布。以下是代码示例:
```python
import random
# 定义成绩等级及其对应的分数线
grades = {
"不及格": (0, 60),
"及格": (60, 80),
"中等": (80, 90),
"良好": (90, 100),
"优秀": (100,)
}
# 生成200个随机分数
scores = [random.randint(0, 100) for _ in range(200)]
# 统计各等级人数
distributions = {grade: sum(score >= lower and score < upper for score in scores) for grade, (lower, upper) in grades.items()}
# 计算占比并打印
total_students = len(scores)
percentages = {k: (v / total_students) * 100 for k, v in distributions.items()}
print("各等级占比:", percentages)
```
这段代码将生成200个0-100之间的随机分数,并统计每个成绩等级的数量以及它们占总人数的比例。
相关问题
生成200个学生成绩数据,统计不及格及格中等良好和优秀的占比
为了生成200个学生成绩数据并统计不及格、及格、中等、良好和优秀的学生比例,我们可以首先创建一个随机成绩列表,然后根据预设的成绩范围将学生分类。假设我们假定成绩范围是0到100分,我们可以这样做:
1. 创建一个包含200个随机数的成绩列表,每个数代表学生的分数。
2. 根据分数线(比如60分及格,75分为良好,85分为优秀)划分等级:
- 不及格:0-59分
- 及格:60-69分
- 中等:70-74分
- 良好:75-84分
- 优秀:85-100分
3. 统计每个等级的学生人数,并计算相应的百分比。
以下是Python的一个示例代码片段:
```python
import random
# 定义成绩范围和等级阈值
total_students = 200
passing_score = 60
good_score = 75
excellent_score = 85
# 生成随机成绩列表
scores = [random.randint(0, 100) for _ in range(total_students)]
# 分类并统计学生数量
grades = {
'不及格': [],
'及格': [],
'中等': [],
'良好': [],
'优秀': []
}
for score in scores:
if score < passing_score:
grades['不及格'].append(score)
elif passing_score <= score < good_score:
grades['及格'].append(score)
elif good_score <= score < excellent_score:
grades['良好'].append(score)
elif score >= excellent_score:
grades['优秀'].append(score)
# 计算占比
grade_percentages = {k: (len(v) / total_students) * 100 for k, v in grades.items()}
print("各等级学生占比:", grade_percentages)
Python生成200个学生成绩数据,统计不及格、及格、中等、良好和优秀的占比
在Python中,我们可以使用random模块来生成随机成绩,然后通过字典或者集合来统计各个等级的比例。下面是一个简单的示例:
```python
import random
# 定义分数区间和对应的等级
score_range = {0: '不及格', 60: '及格', 80: '中等', 90: '良好', 100: '优秀'}
# 生成200个随机成绩
scores = [random.randint(0, 100) for _ in range(200)]
# 初始化计数器
grades_count = {grade: 0 for grade, label in score_range.items()}
# 统计各等级的次数
for score in scores:
grades_count[score_range[score]] += 1
# 计算占比并打印结果
total_students = len(scores)
percentage_dict = {label: count / total_students for label, count in grades_count.items()}
print("比例分布:")
for label, percentage in percentage_dict.items():
print(f"{label}: {percentage:.2%}")
阅读全文