从一个文本文件中读取若干学生成绩,每个学生成绩占1行,统计所有学生成绩的平均分
时间: 2024-05-01 15:20:02 浏览: 28
可以使用Python来实现从文本文件中读取学生成绩并统计平均分的功能。
假设学生成绩保存在名为“scores.txt”的文本文件中,每行一个学生的成绩,可以使用以下代码来读取文件并计算平均分:
```python
# 打开文件
with open('scores.txt', 'r') as f:
# 读取所有行并转换成浮点数列表
scores = [float(line.strip()) for line in f.readlines()]
# 计算平均分并输出
avg_score = sum(scores) / len(scores)
print('平均分为:', avg_score)
```
以上代码首先使用`with open()`语句打开文件,并使用列表推导式读取所有行并将其转换为浮点数列表。然后计算平均分并输出结果。
需要注意的是,如果`scores.txt`文件中存在非数字的行,则程序会抛出`ValueError`异常。可以在读取每行时使用异常处理来避免程序崩溃:
```python
with open('scores.txt', 'r') as f:
scores = []
for line in f.readlines():
try:
score = float(line.strip())
scores.append(score)
except ValueError:
print('非法成绩:', line.strip())
avg_score = sum(scores) / len(scores)
print('平均分为:', avg_score)
```
以上代码使用`try-except`语句来捕获`ValueError`异常,并在控制台输出非法成绩的信息。