通过Python写一个利用读取文件数据,统计平均成绩,中位数,最高三个成绩,最低三个成绩。
时间: 2024-03-05 08:55:19 浏览: 128
好的,下面是一个示例代码,可以实现你需要的功能:
```python
# 导入所需库
import numpy as np
# 读取成绩文件
with open('grades.txt', 'r') as f:
grades = f.readlines()
grades = [float(x.strip()) for x in grades]
# 计算平均成绩和中位数
mean_grade = np.mean(grades)
median_grade = np.median(grades)
# 计算最高和最低三个成绩
sorted_grades = sorted(grades, reverse=True)
top3_grade = sorted_grades[:3]
bottom3_grade = sorted_grades[-3:]
# 输出结果
print("平均成绩:", mean_grade)
print("中位数:", median_grade)
print("最高三个成绩:", top3_grade)
print("最低三个成绩:", bottom3_grade)
```
在这个示例代码中,我们使用了 `with open` 语句来打开包含成绩数据的文本文件,然后使用列表推导式将数据转换为浮点数类型。接着,我们使用 `numpy` 库中的 `mean` 和 `median` 函数计算平均成绩和中位数,使用 `sorted` 函数对成绩进行排序,然后取出最高和最低三个成绩。最后,我们使用 `print` 函数输出结果。
注意:这里假设成绩数据文件中每行只有一个成绩,如果数据文件中有其他内容,需要根据实际情况进行处理。
阅读全文