| Table of Contents |
提出場所: この授業のMoodleコース の ex03A
注意
notebook のセルを実行していると,たまにセルの番号のところが [*] となったままで反応が返ってこなくなるときがあります. ありがちな状況と対処法を書いときます
- 単に処理に時間がかかってるだけ → 待てばいい
- input( ) が入力待ってる → 入力欄になんか入力して Enter
- いつまで待ってもだめ → ウィンドウ上部の「■」ボタンを押して,そのセルの実行を強制的に停止させる
以下の指示にしたがってください
##### AProg2020 第3回課題B
### 関数 readScore() の定義
# この関数はいじる必要はない
# 中身は知らないことだらけなので,現時点では眺めてふーんって感じでよい
#
def readScore(fn):
with open(fn, 'r', encoding='utf-8') as f: # ファイルを読み込みモードで開く
idL = [] # 空のリストを作る.ID用
scoreL = [] # 空のリストを作る.スコア用
for line in f: # ファイルから1行ずつ読み込んでループ
line = line.strip() # line は1行分の文字列.行末の改行文字を除去
i, s = line.split() # 空白区切りで分割.1つ目を i に,残り(2つ目)を s に
idL.append(i) # idL の末尾に i を追加
scoreL.append(float(s)) # scoreL の末尾に float(s) を追加
return idL, scoreL
### ほげ
# 引数にファイル名を指定して readScore() 関数を呼ぶ
# 戻り値2つを idList, scoreList として受け取る
idList, scoreList = readScore("gamescores.txt")
# 最初の5件だけ中身を表示
for i in range(5):
print(i, idList[i], scoreList[i])
### ふが
print('平均値:', ほげ)
みたいにそれが何の値かわかるようにしてね.
- (3.07 + 3.4)/2 = 3 + 0.47/2 = 3.235
動作確認をして間違いがないことを確認したら,以下へ提出してください.提出するのは,ex03score.py です.
提出場所: この授業のMoodleコース の ex03B
これはおまけ課題です.やらなくても減点はありません.やったら棒茄子?
NumPy や Matplotlib という拡張モジュールををちょっと使ってみよう.
import numpy as np # NumPy モジュールを np という名前で扱えるようにインポート
idList, scoreList = readScore("gamescores.txt")
score = np.array(scoreList) # scoreList から NumPy の配列を作る
print(score)import matplotlib.pyplot as plt
plt.hist(score) plt.show()
