从一个文本文件内读入任意多个学生的分数(都是整数),求出最高分,最低分和平均分存入文件result.txt内。 【输入形式】 一个文件,文件中分数之间由换行隔开,输入的文件名为grade.txt。输入的分数都是整数。 【输出形式】 计算出grade.txt中所有分数的最高分,最低分和平均分并分3行存入result.txt的文件内。平均分保留1位小数。
时间: 2023-11-27 21:49:33 浏览: 184
有一个文件abc.txt,其中含有一些整数对,求出这些整数对的最大公约数,并对这些最大公约数从小到大的顺序输出。
5星 · 资源好评率100%
以下是Python的代码实现:
```python
# 读取文件
with open('grade.txt', 'r') as f:
scores = [int(line.strip()) for line in f.readlines()]
# 计算最高分、最低分和平均分
max_score = max(scores)
min_score = min(scores)
avg_score = sum(scores) / len(scores)
# 将结果写入文件
with open('result.txt', 'w') as f:
f.write(str(max_score) + '\n')
f.write(str(min_score) + '\n')
f.write('{:.1f}'.format(avg_score))
```
代码解释:
第一步,通过`with open()`语句打开`grade.txt`文件,利用列表推导式将所有分数读取到`scores`列表中。
第二步,使用`max()`和`min()`函数计算最高分和最低分,使用`sum()`函数和`len()`函数计算平均分。
第三步,通过`with open()`语句打开`result.txt`文件,将最高分、最低分和平均分依次写入文件中。
注意:在写入平均分时,需要使用格式化字符串`'{:.1f}'.format(avg_score)`保留一位小数。
阅读全文