python字典统计学生成绩
时间: 2023-09-05 08:13:03 浏览: 136
假设有一个学生的成绩单如下:
```python
grades = {
'Alice': 85,
'Bob': 72,
'Charlie': 90,
'David': 65,
'Elsa': 92
}
```
可以使用一个字典来统计不同成绩的学生人数。代码如下:
```python
score_count = {}
for name, score in grades.items():
if score in score_count:
score_count[score] += 1
else:
score_count[score] = 1
print(score_count)
```
输出结果如下:
```
{85: 1, 72: 1, 90: 1, 65: 1, 92: 1}
```
这个字典的键是不同的成绩,值是该成绩的学生人数。
相关问题
python字典统计学生成绩排列等级
在Python中,你可以使用字典来存储学生的成绩,然后结合统计和排序的方法来生成成绩排名。以下是一个简单的步骤:
1. **创建字典**:首先,定义一个字典,其中键是学生的名字,值是他们的成绩。例如:
```python
scores = {
"Alice": 85,
"Bob": 92,
"Charlie": 78,
"Dave": 95,
"Eve": 88
}
```
2. **统计**:使用内置的`collections.Counter`来计算每个分数出现的次数,如果需要等级(如A、B、C等),可以设置分段阈值。
```python
from collections import Counter
grade_thresholds = (90, 80, 70) # 分数划分点
grades = {i: 'A' for i in range(90, 101)} # 假设90分及以上为A级
for i, k in enumerate(sorted(scores.values(), reverse=True)):
grades[k] = 'B' if i >= grade_thresholds else 'C' if i >= grade_thresholds else 'D'
grade_counts = Counter(grades.values())
```
3. **生成排名**:对字典按照成绩排序,然后根据分数和等级生成排名。可以用`sorted`函数配合自定义的排序关键字(成绩和等级)来实现。
```python
students_with_ranks = {}
for name, score in sorted(scores.items(), key=lambda x: (-grade_counts[x], x)):
students_with_ranks[name] = {"score": score, "grade": grades[score], "rank": rank + 1}
rank += 1 # rank初始化为1,每次循环后加1
```
4. **输出结果**:最后,你可以打印或返回这个包含学生信息、成绩、等级和排名的字典。
Python字典-学生成绩统计
Python字典是一种无序的数据结构,用于存储键值对。在学生成绩统计中,可以使用字典来存储每个学生的姓名和对应的成绩。
以下是一个示例代码,展示如何使用字典进行学生成绩统计:
```python
# 创建一个空字典
student_scores = {}
# 添加学生姓名和成绩
student_scores['Alice'] = 85
student_scores['Bob'] = 92
student_scores['Charlie'] = 78
student_scores['David'] = 90
# 访问学生的成绩
print(student_scores['Alice']) # 输出:85
# 修改学生的成绩
student_scores['Alice'] = 90
# 删除学生的成绩
del student_scores['Charlie']
# 遍历字典,输出所有学生的姓名和成绩
for student, score in student_scores.items():
print(student, score)
```
阅读全文