创建一个过程,统计选课表(mess_xk)中每门课程的选课人数及平均成绩。
时间: 2024-03-24 18:41:09 浏览: 31
好的,我可以为您提供一个 Python 代码示例来实现这个过程:
```python
def course_stats(mess_xk):
"""
统计选课表中每门课程的选课人数及平均成绩
:param mess_xk: 选课表,格式为 [(课程1, 成绩1), (课程2, 成绩2), ...]
:return: 返回一个字典,格式为 {课程名1: (选课人数1, 平均成绩1), 课程名2: (选课人数2, 平均成绩2), ...}
"""
course_dict = {}
for course, score in mess_xk:
if course not in course_dict:
course_dict[course] = [0, 0]
course_dict[course][0] += 1 # 选课人数加1
course_dict[course][1] += score # 总成绩加上当前成绩
for course in course_dict:
course_dict[course][1] /= course_dict[course][0] # 计算平均成绩
return course_dict
```
这个函数接收一个选课表 mess_xk,格式为 [(课程1, 成绩1), (课程2, 成绩2), ...],返回一个字典,其中键为课程名,值为一个元组,第一个元素为选课人数,第二个元素为平均成绩。函数首先创建一个空字典 course_dict 用于存储每门课程的统计信息。遍历选课表中的每个选课记录,如果当前课程还没有出现过,则在字典中添加一个新条目,值为 [0, 0],即初始选课人数和成绩均为0。然后将当前选课记录的成绩加到该课程的总成绩中,并将选课人数加1。最后再遍历一遍字典,计算每门课程的平均成绩。