Python分数统计(从文件读入)

从一个文本文件grade.txt内读入任意多个学生的分数,求出最高分,最低分,平均分输出。
输入形式:一个文件,文件中分数由换行隔开,一行一个值,文件名为grade.txt,输入的分数都是整数。
输出形式:计算出grade.txt中所有最高分,最低分和平均分3行输出,统计值用round(x)去整数

该回答引用chatgpt:

img


def calculate_grades(file_name):
    with open(file_name, 'r') as file:
        scores = [int(line.strip()) for line in file]

    max_score = max(scores)
    min_score = min(scores)
    average_score = sum(scores) / len(scores)

    max_score = round(max_score)
    min_score = round(min_score)
    average_score = round(average_score)

    return max_score, min_score, average_score


file_name = 'yzy.txt'
max_score, min_score, average_score = calculate_grades(file_name)

print(f"最高分: {max_score}")
print(f"最低分: {min_score}")
print(f"平均分: {average_score}")

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7450710
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python练习一(对txt文本的操作:切割,切片,格式化输出)
  • 除此之外, 这篇博客: Python 文件相关操作总结(读写 txt 文件、复制文件、获得文件列表等)中的 3. 获取制定路径下的所有文件和文件夹 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •   代码

    import os 
    os.listdir('home/DAN/Theano0.9/')
    

    得到的结果如下,可以看到同时获得到了一个文件夹下面的所有文件夹和文件。
    这里写图片描述

  • 您还可以看一下 赵帅老师的Python爬虫基础&商业案例实战课程中的 批量生成舆情报告准备知识点:自动生成txt文件小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以解决该问题。

    代码如下:

    读取分数文件,计算最高分、最低分和平均分

    with open('grade.txt', 'r') as f: lines = f.readlines() scores = [int(x.strip()) for x in lines]

    max_score = max(scores) min_score = min(scores) avg_score = round(sum(scores) / len(scores))

    输出统计结果

    print(f'最高分为:{max_score}') print(f'最低分为:{min_score}') print(f'平均分为:{avg_score}')

    解释: 1. 首先使用 open 函数读取 grade.txt 文件,以读取模式打开。 2. 使用 readlines 方法将每行内容读取到一个列表中,去掉每行末尾的换行符,转换为整数类型,存入 scores 列表中。 3. 使用 max 函数求 scores 列表中的最大值,使用 min 函数求 scores 列表中的最小值,使用 sum 函数求 scores 列表中所有元素的总和并除以元素个数求平均值,使用 round 函数对结果进行四舍五入处理。 4. 使用 print 函数输出统计结果。

    注意事项: 1. 文件路径要正确。 2. grade.txt 文件中的每个分数必须独占一行,且是整数形式,否则将无法正确计算。 3. 代码中没有进行错误处理,如文件读取异常等,需要自行添加适当的错误处理代码。