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))#平均分取小數點后兩位

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM