Python生成200个学生成绩数据,统计不及格、及格、中等、良好和优秀的占比
时间: 2024-11-24 15:41:11 浏览: 8
在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%}")
相关问题
用Python生成200个学生成绩数据,统计不及格、及格、中等、良好和优秀的占比。
首先,我们可以假设成绩分为五个等级,如0分代表不及格,60分及以上代表优秀,以此类推。这里我们使用random模块生成随机分数。下面是一个简单的示例代码:
```python
import random
# 定义成绩范围和等级划分
score_range = (0, 100)
grade_boundaries = {0: '不及格', 60: '及格', 80: '中等', 90: '良好', 100: '优秀'}
# 生成200个随机成绩
scores = [random.randint(score_range[0], score_range[1]) for _ in range(200)]
# 统计各等级的学生人数
grades_count = {grade: 0 for grade in grade_boundaries}
for score in scores:
for boundary, label in grade_boundaries.items():
if score >= boundary:
grades_count[label] += 1
break # 只统计第一个达到的等级
# 计算占比
total_students = len(scores)
percentages = {grade: count / total_students * 100 for grade, count in grades_count.items()}
# 输出占比
for grade, percentage in percentages.items():
print(f"{grade}: {percentage:.2f}%")
用Python生成200个学生成绩数据,统计不及格、及格、中等、良好和优秀的占比并把200个成绩表打印出来
在Python中,你可以使用numpy库生成随机的成绩数据,然后通过pandas进行数据分析。下面是一个简单的示例:
```python
import numpy as np
import pandas as pd
# 定义成绩等级及其对应的分数区间
grades = {'F': (0, 60), 'D': (60, 75), 'C': (75, 85), 'B': (85, 95), 'A': (95, 100)}
# 随机生成200个成绩
scores = np.random.uniform(0, 100, size=200).astype(int)
# 根据成绩分组计数
group_counts = pd.value_counts(scores, sort=True, bins=len(grades))
# 计算百分比
percentages = group_counts / sum(group_counts) * 100
# 创建一个DataFrame来存储结果
result_df = pd.DataFrame({'等级': grades.keys(), '人数': group_counts, '占比%': percentages})
print(result_df)
```
在这个代码里,我们首先创建了一个包含各个等级及其对应分数区间的字典。接着生成了200个随机成绩,并将它们分为五个等级。然后计算每个等级的学生数量和总比例。
运行此程序后,你会得到一个DataFrame,其中列出了各等级的成绩分布以及对应的占比。
阅读全文