演習3回目: while文の利用とこれまでの復習

ペアのdriver担当

達成目標


演習6: 簡易ガチャ・シミュレータを実装してみよう。

演習6.1: くじ引き関数 draw_lots() を作成せよ。

# draw_lots()の実行例
>>> draw_lots()
25
>>> draw_lots()
9

演習6.2: あなたは目的のクジを引けるまで永遠と draw_lots() を実行する必要がある。言い換えると、目的クジが出るまでは終わることができない。while文を用いて、目的のクジを引くまでにかかった回数をカウントするコードと、実行結果を示せ。

演習6.3: 演習6.2で書いたコードは「目的のクジが一度出るまでに要した回数」をカウントしてくれるはずだ。これを関数 number_of_drawing() として定義せよ。

# number_of_drawing()の実行例
>>> number_of_drawing(1)
57
>>> number_of_drawing(1)
17

演習6.4: number_of_drawing()を利用し、「平均的に何回くじを引けば当たりそうか」を検証するシミュレータ(プログラム)を作成せよ。

演習6.5: 演習6.4で書いたコードを「week4_ex6_5.py」というファイル名で保存し、シェル上でスクリプトを実行せよ。

# 実行結果の例
oct:tnal% python3 week3_ex5_5.py
平均回数は 98.29 回です!
oct:tnal% python3 week3_ex5_5.py
平均回数は 104.75 回です!

(余裕のあるペア向け) 演習6.5: 演習6.4までは「等確率で出てくるくじびき」を想定したコードになっている。世の中には確率が異なるくじ引きが多々あるが、どのように実装したら良いだろうか?