python文件 成绩分析

‘’'文件score.txt中存储了学生的考试信息,内容如下
小明,98
小刚,90
小红,91
小王,98
小刘,80
请写代码,读取文件数据,并进行如下分析

  1. 最高分和最低分分别是多少?
  2. 得最高分的学生有几个? 得最低分的学生有几个
  3. 平均分是多少?
    ‘’’
def read_score(filename):
    # 打开文件
    f = open('score.txt', 'r', encoding='utf-8')

    # 读取文件内容
    data = f.readlines()  #data = ['小明,98\n', '小刚,90\n', '小红,91\n', '小王,98\n', '小刘,80\n']

    # data = [line.strip() for line in data] #['小明,98', '小刚,90', '小红,91', '小王,98', '小刘,80']

    data = [line.strip().split(',') for line in data]
    # print(data) #[['小明', '98'], ['小刚', '90'], ['小红', '91'], ['小王', '98'], ['小刘', '80']]

    # 关闭文件
    f.close()
    return data


# 分析数据
def analyze_score():
    scores = read_score('score.txt')  # 读取文件数据,得到的是列表

    score_lst = []  # 用来存放成绩
    # 遍历列表 得到数字
    for item in scores:
        score = int(item[1])  # 得到成绩
        score_lst.append(score) #score_lst=[98, 90, 91, 98, 80]

    # 计算最高分和最低分
    max_score = max(score_lst)
    min_score = min(score_lst)

    # 计算最高分和最低分的学生有几个
    max_count = score_lst.count(max_score)
    min_count = score_lst.count(min_score)

    # 计算平均分
    avg_score = sum(score_lst) / len(score_lst)

    return {
        '最高分': max_score,
        '最低分': min_score,
        '最高分学生有多少个': max_count,
        '最低分学生有多少个': min_count,
        '平均分': avg_score
    }



if __name__ == '__main__':
    print(analyze_score())

在这里插入图片描述

相关推荐

  1. P8717 [蓝桥杯 2020 省 AB2] 成绩分析 Python

    2024-04-28 18:04:02       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 18:04:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 18:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 18:04:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 18:04:02       20 阅读

热门阅读

  1. 读写锁ReentrantReadWriteLock&StampLock详解

    2024-04-28 18:04:02       13 阅读
  2. TS中const和readonly的区别

    2024-04-28 18:04:02       12 阅读
  3. vmware workstation 17 pro密钥最新大全

    2024-04-28 18:04:02       12 阅读
  4. Python 内置函数 float() 详解

    2024-04-28 18:04:02       13 阅读
  5. 大模型日报2024-04-27

    2024-04-28 18:04:02       10 阅读