次は1行に1つの数値データが保存されたテキストファイルを読み込んで,リストに格納し,合計や平均を求めてみます.まずは秀丸エディタなどを使ってデータファイル (data07.txt) を準備します.
データファイル (data07.txt)
74
62
98
53
79
69
このとき,readlines()
を使って(readline() ではない!),一旦ファイルの内容を文字列のリストに読み込んだ後,数値のリストに変換すると良いでしょう.
数値型で読み込む
# 読み取りモードでファイルを開く
f = open('data07.txt', 'r')
# ファイルを一気に読み読み込み,lines リストに1行ずつ格納する
lines = f.readlines()
# 空のリストを準備する
scores = []
# ファイルの内容を1行ずつ整数に変数して scores リストに追加する
for line in lines:
scores.append(int(line))
# ファイルを閉じる
f.close()
# 合計点と平均点を取得する
sum = 0
for score in scores:
sum += score
avg = sum / len(scores)
# 結果の表示
print(scores)
print('合計 :', sum)
print('平均 :', avg)
[74, 62, 98, 53, 79, 69] 合計 : 435 平均 : 72.5