乱数でシミュレーションしよう
結果が毎回変わる実験を、コンピューターで何度も試します。
必須
これまでの内容から、3問を復習しよう
前回までの内容から、毎回ランダムに3問が選ばれます。同じ復習用ファイルの中身を書き換え、1問ずつ予想・実行します。
lesson12_review.pyレッスン番号と使う場面が分かる名前にして、あとで探しやすくします。
- VS Code上部の「ファイル」をクリック
- 「新しいテキスト ファイル」をクリック
- Ctrl+S(Macは⌘+S)を押す
lesson12_review.pyと入力して「保存」を押す
ここを確認:画面上のタブ、または左側のファイル一覧にlesson12_review.pyと表示されたら準備完了です。
表示
print(3 + 4)表示される数は?
変数
x = 5
x = x + 2
print(x)最後のxは?
条件分岐
n = 8
if n > 5:
print("大")表示される文字は?
実際に自分のパソコンで行ってから、チェックを入れてください。
乱数を使った実験を繰り返し、回数や割合を求められる。
- ✓乱数の意味を説明できる
- ✓試行回数をforで増やせる
- ✓結果が毎回変わる理由が分かる
シミュレーションは何のため?
- くじ引きの例で乱数を知る
- 1回だけ乱数を作る
- 100回の実験を自動で行う
- 回数と割合を求める
- 必須問題で自分で確かめる
コインを1000回投げるのは大変です。コンピューターなら、結果をランダムに決める「乱数」と繰返しを使い、短い時間で何度も実験できます。このようなまねをした実験をシミュレーションと呼びます。
注意:乱数は毎回同じとは限りません。正解は一つの回数ではなく、「指定範囲の値が出る」「割合が0から1の間になる」といった成功条件で確かめます。
1から6の乱数を作ろう
lesson12_step02.pyレッスン番号と使う場面が分かる名前にして、あとで探しやすくします。
- VS Code上部の「ファイル」をクリック
- 「新しいテキスト ファイル」をクリック
- Ctrl+S(Macは⌘+S)を押す
lesson12_step02.pyと入力して「保存」を押す
ここを確認:画面上のタブ、または左側のファイル一覧にlesson12_step02.pyと表示されたら準備完了です。
lesson12_step02.pyへ、見本コードを一文字ずつ入力する- まだ実行せず、結果を予想する
- 保存して、VS Code右上の▶を押す
- 下のターミナルと教材の結果を比べる
import random
dice = random.randint(1, 6)
print(dice)random.randint(1, 6)は、1から6までのどれか一つを作ります。さいころを1回振る動きと同じです。
表示される可能性がある数は?
先に自分のパソコンで実行しましょう。画面に出た結果を見てから、下のボタンを押します。
100回の実験を自動で行おう
import random
six_count = 0
for i in range(100):
dice = random.randint(1, 6)
if dice == 6:
six_count = six_count + 1
print(six_count)
print(six_count / 100)さいころを100回振り、6が出た回数を数えます。最後の行では、その回数を100で割って割合にします。
six_countが数えているものは?
ここまで分かったか確認しよう
lesson12_step04.pyこの回の必須問題で使うファイルです。問題ごとに中身を書き換えます。
- VS Code上部の「ファイル」をクリック
- 「新しいテキスト ファイル」をクリック
- Ctrl+S(Macは⌘+S)を押す
lesson12_step04.pyと入力して「保存」を押す
ここを確認:画面上のタブ、または左側のファイル一覧にlesson12_step04.pyと表示されたら準備完了です。
lesson12_step04.pyを作る- 問題のコードを入力して保存・実行する
- 同じファイルを書き換えて次の問題へ進む
表が出た回数
0を裏、1を表として、コインを50回投げ、表の回数を数えます。
当たりの回数
1から10の乱数で、1が出たら当たりとします。100回の当たり数を求めます。
試す回数を変える
さいころの実験を100回と1000回で行い、6の割合を比べます。
実際に自分のパソコンで行ってから、チェックを入れてください。
共通テスト型の問題を3問解こう
Pythonで動かした経験を思い出し、コードを上から読みます。まず自分で考え、困ったときだけボタンを開きましょう。
乱数の範囲
x = 1以上6以下の整数の乱数xになる可能性がない数は?
当たりを数える
count = 0
10回繰り返す:
x = 1以上3以下の乱数
もし x == 1 ならば:
count = count + 1countが表すものは?
割合を計算する
100回の実験で当たりが23回
割合 = 当たり回数 / 実験回数割合はいくつ?
できるだけ解いてみよう
全部終わらなくても大丈夫です。上から順番に挑戦しましょう。
- 1. 1から10の乱数を1個表示
- 2. コインを10回表示
- 3. 偶数が出た回数を数える
- 4. 1から100の乱数
- 5. 当たりを1・2の二つにする
- 6. 試行回数を500回にする
- 7. 割合を求める
- 8. 結果が毎回違う理由
- 9. 回数を増やすメリット
- 10. じゃんけんの手を乱数で決める