可以使用以下代码实现从scores.txt文件读取信息,并计算三个人的平均成绩和三个科目的平均成绩:
```python
def read_scores_file(file_path):
# 读取文件并返回一个包含所有成绩的列表
scores = []
with open(file_path, 'r') as file:
for line in file:
line = line.strip()
scores.append(list(map(float, line.split())))
return scores
def calculate_student_avg(scores):
# 计算每个学生的平均成绩并返回一个包含平均成绩的列表
student_avg = []
for student in scores:
avg = sum(student) / len(student)
student_avg.append(avg)
return student_avg
def calculate_subject_avg(scores):
# 计算每个科目的平均成绩并返回一个包含平均成绩的列表
subject_avg = []
num_subjects = len(scores[0])
for i in range(num_subjects):
subject_scores = [student[i] for student in scores]
avg = sum(subject_scores) / len(subject_scores)
subject_avg.append(avg)
return subject_avg
# 文件路径
file_path = 'scores.txt'
# 从文件中读取信息
scores = read_scores_file(file_path)
# 计算每个学生和每个科目的平均成绩
student_avg = calculate_student_avg(scores)
subject_avg = calculate_subject_avg(scores)
# 输出结果
for i, avg in enumerate(student_avg):
print(f'Student {i+1} average score: {avg}')
for i, avg in enumerate(subject_avg):
print(f'Subject {i+1} average score: {avg}')
```
请确保文件`scores.txt`存在,并按照每行一个学生的成绩,每个成绩之间使用空格分隔的格式存储信息。