python中分数统计问题求解答

【问题描述】

从一个文本文件内读入任意多个学生的分数,求出最高分,最低分和平均分存入文件result.txt内。

【输入形式】

一个文件,文件中分数之间由换行隔开,输入的文件名为grade.txt。输入的分数都是整数。

【输出形式】

计算出grade.txt中所有分数的最高分,最低分和平均分并分3行存入result.txt的文件内。平均分保留1位小数。

【样例输入】

60

70

80

【样例输出】

80

60

70.0

list = []
with open('../grade.txt', mode='r') as f:
    for lines in range(len(open(r'../grade.txt', 'r').readlines())):#求文件的行数
        sz_attr = f.readline().replace('\n', '')
        list.append(int(sz_attr))
    max_sz = sorted(list, reverse=True)[0]#最大值
    min_sz = sorted(list, reverse=True)[len(open(r'../grade.txt', 'r').readlines()) - 1]#最小值
    avg_sz = round(sum(list) / len(list), 1)#平均值,保留一位小数
    print(max_sz)
    print(min_sz)
    print(sum(list) / len(list))
with open('../result.txt', mode='w') as ff:
    ff.write(str(max_sz) + "\n")
    ff.write(str(min_sz) + "\n")
    ff.write(str(avg_sz) + "\n")

grade.txt
45
64
78
23
83
86
31
80
32
96