从文件rawscore.txt中读入学生人数、考核科目数及每位学生各科目分数等基本信息。(2)根据读入的信息,计算出每位学生的专业课平均分。
时间: 2024-03-27 08:36:24 浏览: 62
从学生课程安排txt文档中读取内容并计算相关学分情况
可以使用以下代码从文件中读取学生信息并计算专业课平均分:
```python
with open('rawscore.txt', 'r') as f:
lines = f.readlines()
num_students, num_subjects = map(int, lines[0].split()) # 读取学生人数、考核科目数
students = []
for line in lines[1:]:
parts = line.split()
student = {
'id': parts[0],
'name': parts[1],
'scores': [int(x) for x in parts[2:]],
}
avg_score = sum(student['scores'][:num_subjects]) / num_subjects # 计算专业课平均分
student['avg_score'] = avg_score
students.append(student)
```
在以上代码中,我们首先使用 `map()` 函数将文件中的第一行转换为整数类型,并赋值给 `num_students` 和 `num_subjects` 变量。然后我们遍历剩余的行,对每行进行分割并将其转换为字典形式的学生信息。在计算学生的专业课平均分时,我们只考虑前 `num_subjects` 门科目的成绩。最后将计算出的平均分保存在每个学生的字典中。
阅读全文