存储若干班级学生成绩(每 一行表示一个班级的成绩),请读取文件 并将各班成绩和平均分打印出来。
时间: 2024-02-21 21:58:51 浏览: 34
好的,这个问题很简单,我可以帮你解决。
假设你的成绩文件名为 `score.txt`,每一行表示一个班级的成绩,每个成绩之间用空格分隔。我们可以使用 Python 中的文件读取函数 `open()` 和循环来读取文件中的每一行,并将每个班级的成绩求和并计算平均分。以下是代码实现:
```python
# 打开文件
with open('score.txt', 'r') as f:
# 逐行读取文件内容
for line in f:
# 去除行末的换行符
line = line.strip()
# 将一行数据按空格切分成列表
scores = line.split()
# 将成绩字符串转为整数类型,并求和
total_score = sum([int(score) for score in scores])
# 计算平均分
avg_score = total_score / len(scores)
# 打印成绩和平均分
print("班级成绩:{},平均分:{:.2f}".format(scores, avg_score))
```
上述代码中,使用了 `with` 语句来打开文件,这样可以确保文件在使用完毕后自动关闭,避免了手动关闭文件的繁琐操作。然后使用 `for` 循环逐行读取文件内容,通过 `strip()` 函数去除每行末尾的换行符,使用 `split()` 函数将一行数据按空格切分成列表。接着使用列表推导式和 `sum()` 函数将班级成绩求和,并计算平均分,最后使用 `print()` 函数打印出班级成绩和平均分。
希望这个回答可以帮到你。如果你还有其他问题,请继续提问。