AProg/2021/ex03
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* 応用プログラミング及び実習 2021年度 ex03 [#xa9b83a6]
//&color(red){''工事中''};
#contentsx
**注意 [#ib719427]
notebook のセルを実行していると,たまにセルの番号のところ...
ありがちな状況と対処法を書いときます
+ 単に処理に時間がかかってるだけ → 待てばいい
+ input( ) が入力待ってる → 入力欄になんか入力して Enter
+ いつまで待ってもだめ → ウィンドウ上部の「■」ボタンを押...
** ex03A [#kadaiA]
[[ex03kadaiA.ipynb>https://github.com/takatakamanbou/APro...
+ 上記のリンク先から notebook ファイルをダウンロードして...
-- notebook の扱い方を忘れたひとは [[こちら>../Setup#part...
+ そこに記された指示にしたがって notebook を編集・実行し...
+ その notebook ファイルを以下の提出場所へ提出
提出場所: [[この科目の Moodle コース>https://www-tlab.mat...
** ex03B [#kadaiB]
以下の指示にしたがってください
*** Step1 [#a6fd109c]
[[gamescores.txt>AProg:gamescores.txt]]
+ 上記リンク先のファイルをダウンロードして,自分の AProg2...
+ 同じ場所に,下記の内容のファイル ex03score.py を作る(...
+ ex03score.py を実行できることを確認. gamescores.txt に...
#pre{{
##### AProg2021 ex03B
### 関数 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つ...
idL.append(i) # idL の末尾に i を追加
scoreL.append(float(s)) # scoreL の末尾に flo...
return idL, scoreL
### ほげ
# 引数にファイル名を指定して readScore() 関数を呼ぶ
# 戻り値2つを idList, scoreList として受け取る
idList, scoreList = readScore("gamescores.txt")
# 最初の5件だけ中身を表示
for i in range(5):
print(i, idList[i], scoreList[i])
### ふが
}}
*** Step2 [#jbd21153]
+ 「###ほげ」のところに,次の仕様の関数を定義する
-- 関数名は myaverage
-- 引数は一つだけ受け取る.名前は X とする(本来は好きな...
-- 引数として受け取ったものが数値の格納されたリストと仮定...
-- 引数として受け取ったものがリストではないときや,数値で...
-- 組み込み関数 sum は使ってはいけない
+ 「###ふが」のところで, scoreList を引数として myaverag...
print('平均値:', ほげ)
みたいにそれが何の値かわかるようにしてね.
+ 動作を確認する.最初はたとえば関数に scoreList[:2] を渡...
*** Step3 [#i82379b7]
+ 先の Step と同様にして,もうひとつ関数定義を追加する
-- 関数名は myargmax
-- 引数として受け取ったものが数値の格納されたリストと仮定...
-- 引数の数や名前等については myaverage と同様
-- len と range は使ってもよいが,それ以外の組み込み関数...
+ 同様に,定義した関数を呼ぶコードを追加する.
+ 動作確認する
-- 最初はたとえば scoreList[:5] を渡して正しい要素番号が...
+ 返ってきた要素番号を利用して,「スコアが最も大きかった...
+ 動作確認する
-- 提出版はちゃんと全体の最大が求まるようにしといてね
*** Step4 [#g2c0b10f]
動作確認をして間違いがないことを確認したら,以下へ提出し...
提出場所: [[この科目の Moodle コース>https://www-tlab.mat...
**ex03S (omake) [#kadaiS]
//&color(#ff0000){工事中};
&color(red){''これはおまけ課題です.やらなくても減点はあ...
NumPy や Matplotlib という拡張モジュールををちょっと使っ...
- ex03score.py を ex03S.py にコピーして,次のことをやろう.
- 期限と提出場所: 1021木の授業終了までに Teams チャットで...
***ちょこっと NumPy [#uc6f4d3f]
+ プログラムの先頭に,次の行を追加
import numpy as np # NumPy モジュールを np という名前...
+ readScore() 関数を読んだ直後で次のようにする
idList, scoreList = readScore("gamescores.txt")
score = np.array(scoreList) # scoreList から NumPy の配...
print(score)
+ myaverage, myargmax のかわりに,同じことをする NumPy の...
どんな関数を使えばよいかは,「numpy ほげ」(ほげに適当な...
***ちょこっと Matplotlib [#b040aaa4]
+ プログラムの先頭に,次の行を追加
import matplotlib.pyplot as plt
+ プログラムの末尾に,次の行を追加.ヒストグラムが描かれ...
plt.hist(score)
plt.show()
+ 上記を修正して,以下のようなヒストグラムが描かれるよう...
-- ヒント: これは,色を変えて,棒の幅を変えて,ヒストグラ...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
終了行:
* 応用プログラミング及び実習 2021年度 ex03 [#xa9b83a6]
//&color(red){''工事中''};
#contentsx
**注意 [#ib719427]
notebook のセルを実行していると,たまにセルの番号のところ...
ありがちな状況と対処法を書いときます
+ 単に処理に時間がかかってるだけ → 待てばいい
+ input( ) が入力待ってる → 入力欄になんか入力して Enter
+ いつまで待ってもだめ → ウィンドウ上部の「■」ボタンを押...
** ex03A [#kadaiA]
[[ex03kadaiA.ipynb>https://github.com/takatakamanbou/APro...
+ 上記のリンク先から notebook ファイルをダウンロードして...
-- notebook の扱い方を忘れたひとは [[こちら>../Setup#part...
+ そこに記された指示にしたがって notebook を編集・実行し...
+ その notebook ファイルを以下の提出場所へ提出
提出場所: [[この科目の Moodle コース>https://www-tlab.mat...
** ex03B [#kadaiB]
以下の指示にしたがってください
*** Step1 [#a6fd109c]
[[gamescores.txt>AProg:gamescores.txt]]
+ 上記リンク先のファイルをダウンロードして,自分の AProg2...
+ 同じ場所に,下記の内容のファイル ex03score.py を作る(...
+ ex03score.py を実行できることを確認. gamescores.txt に...
#pre{{
##### AProg2021 ex03B
### 関数 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つ...
idL.append(i) # idL の末尾に i を追加
scoreL.append(float(s)) # scoreL の末尾に flo...
return idL, scoreL
### ほげ
# 引数にファイル名を指定して readScore() 関数を呼ぶ
# 戻り値2つを idList, scoreList として受け取る
idList, scoreList = readScore("gamescores.txt")
# 最初の5件だけ中身を表示
for i in range(5):
print(i, idList[i], scoreList[i])
### ふが
}}
*** Step2 [#jbd21153]
+ 「###ほげ」のところに,次の仕様の関数を定義する
-- 関数名は myaverage
-- 引数は一つだけ受け取る.名前は X とする(本来は好きな...
-- 引数として受け取ったものが数値の格納されたリストと仮定...
-- 引数として受け取ったものがリストではないときや,数値で...
-- 組み込み関数 sum は使ってはいけない
+ 「###ふが」のところで, scoreList を引数として myaverag...
print('平均値:', ほげ)
みたいにそれが何の値かわかるようにしてね.
+ 動作を確認する.最初はたとえば関数に scoreList[:2] を渡...
*** Step3 [#i82379b7]
+ 先の Step と同様にして,もうひとつ関数定義を追加する
-- 関数名は myargmax
-- 引数として受け取ったものが数値の格納されたリストと仮定...
-- 引数の数や名前等については myaverage と同様
-- len と range は使ってもよいが,それ以外の組み込み関数...
+ 同様に,定義した関数を呼ぶコードを追加する.
+ 動作確認する
-- 最初はたとえば scoreList[:5] を渡して正しい要素番号が...
+ 返ってきた要素番号を利用して,「スコアが最も大きかった...
+ 動作確認する
-- 提出版はちゃんと全体の最大が求まるようにしといてね
*** Step4 [#g2c0b10f]
動作確認をして間違いがないことを確認したら,以下へ提出し...
提出場所: [[この科目の Moodle コース>https://www-tlab.mat...
**ex03S (omake) [#kadaiS]
//&color(#ff0000){工事中};
&color(red){''これはおまけ課題です.やらなくても減点はあ...
NumPy や Matplotlib という拡張モジュールををちょっと使っ...
- ex03score.py を ex03S.py にコピーして,次のことをやろう.
- 期限と提出場所: 1021木の授業終了までに Teams チャットで...
***ちょこっと NumPy [#uc6f4d3f]
+ プログラムの先頭に,次の行を追加
import numpy as np # NumPy モジュールを np という名前...
+ readScore() 関数を読んだ直後で次のようにする
idList, scoreList = readScore("gamescores.txt")
score = np.array(scoreList) # scoreList から NumPy の配...
print(score)
+ myaverage, myargmax のかわりに,同じことをする NumPy の...
どんな関数を使えばよいかは,「numpy ほげ」(ほげに適当な...
***ちょこっと Matplotlib [#b040aaa4]
+ プログラムの先頭に,次の行を追加
import matplotlib.pyplot as plt
+ プログラムの末尾に,次の行を追加.ヒストグラムが描かれ...
plt.hist(score)
plt.show()
+ 上記を修正して,以下のようなヒストグラムが描かれるよう...
-- ヒント: これは,色を変えて,棒の幅を変えて,ヒストグラ...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
ページ名: