8 学生成绩统计给出 n 个 学生的考试成绩 每条信息由姓名和分数组成 试设计一个算法 ( 1
时间: 2023-06-05 18:48:01 浏览: 312
) 统计每个学生的总分和平均分;
算法步骤:
1. 定义一个字典,用于存储每个学生的姓名、分数和统计信息。
2. 遍历给定的 n 条信息,对于每条信息,将学生姓名和分数存入字典中。
3. 遍历字典,计算每个学生的总分和平均分,并将其存入字典中。
4. 输出每个学生的姓名、分数、总分和平均分。
算法实现:
```python
def score_statistics(scores):
# 定义一个字典,用于存储每个学生的姓名、分数和统计信息
students = {}
for name, score in scores:
# 将学生姓名和分数存入字典中
if name not in students:
students[name] = {'scores': [], 'total': 0, 'average': 0}
students[name]['scores'].append(score)
# 遍历字典,计算每个学生的总分和平均分,并将其存入字典中
for name, info in students.items():
total = sum(info['scores'])
average = total / len(info['scores'])
info['total'] = total
info['average'] = average
# 输出每个学生的姓名、分数、总分和平均分
for name, info in students.items():
print(f"{name}: {info['scores']},总分:{info['total']},平均分:{info['average']}")
```
示例:
```python
scores = [('小明', 80), ('小红', 90), ('小明', 70), ('小红', 85)]
score_statistics(scores)
```
输出:
```
小明: [80, 70],总分:150,平均分:75.0
小红: [90, 85],总分:175,平均分:87.5
```
阅读全文