zoukankan      html  css  js  c++  java
  • Python文件练习_读取文件并计算平均分

    读取文件并计算平均分

    文件如下

    小白,88
    小黑,90.5
    小黄,
    小花,33

    第一次完成功能

    score = []
    total = 0
    count = 0
    with open('成绩',encoding='utf-8') as f: #以自动关闭文件的方法打开文件
        for line in f: #逐行循环文件,避免一次读取占用电脑内存
            score.append(line.split('')[1].strip()) #将分数取出放入列表
        for i in score:
            total += int(score[count]) #计算总分
            count += 1
        average = total/count
        print('平均成绩是%s'%average)

    第二次优化

       (1) 可以边取成绩边统计,不需要额外创建数组再循环list,可以少一个循环

       (2) 添加非空校验,数组非空(如果数组只有名字没有,成绩),空字符串传转化为整型或者浮点型时会报错

       (3) 成绩不一定为整型,将数据调整为float

       (4) 平均分取小数点后两位

    sum = 0
    count = 0
    with open('成绩',encoding='utf-8') as f:
        for line in f:
            if len(line.split(''))>1: #添加数组非空判断
                if line.split('')[1].strip(): #非空判断,空字符传转化为整型或者浮点型时会报错
                # 没有成绩,只计人数不计成绩,
                    sum += float(line.split('')[1].strip()) #由int改为float,可以防止分数中有小数
            count += 1
        average = sum / count
        print('总分:{},人数:{},平均分是:{:.2f}'.format(sum,count,average))#平均分取小数点后两位
  • 相关阅读:
    删DS.Store
    switch 多重选择
    PrintWrite写入文件
    读取文件
    notepad++如何把文件保存为java文件
    让notepad++成为轻量级JAVA的IDE
    Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序
    相关服务账号
    Jenkins安装与启动
    jmeter安装
  • 原文地址:https://www.cnblogs.com/dongrui624/p/8715964.html
Copyright © 2011-2022 走看看