乱数とは何か?
全く無秩序に、しかも出現の確率が同じになるように並べられた数字の列。
(デジタル大辞泉から引用)
すこし難しいですね…(。ŏ﹏ŏ)ウーン
では、
サイコロを例にして説明したいと思います。
サイコロは「1」~「6」の値が各面の配置されており、サイコロを投げるとすべての面が同確率で出ます。
乱数は、このサイコロを投げて出た値と同様に、指定された範囲の値から、すべて同じ確率で出た値のことを意味します。
randomモジュールの構文
import_random
random.関数
かんたん解説
①「import」でrandomモジュールを読み込む
②「random.関数」という構文で使用
ポイント
(_部分)importとrandomのあいだは半角スペース
(.部分)ドット忘れずに
random()関数を利用してみよう!
いちばん基本的なrandom()関数を利用してみましょう。
random()関数は、0.0以上1.0未満の範囲からfloat型の値を乱数で取得することができます。
使用例
①randomモジュールを「import」で読み込み
②変数「r」を指定し、random()関数を利用
③変数「r」を表示
IDELを用いて表示
uniform()関数を利用してみよう!
uniform()関数を用いると、得られる乱数の範囲を「a~b」のように指定することができます。
uniform関数の利用コード
import_random
変数 = random.uniform(a,b)
ポイント
①(_部分)半角スペース
②(.部分)ドット忘れずに
③(,部分)カンマ忘れずに
使用例
1.0~5.0の範囲からfloat型の乱数を取得するプログラムを作成します
①randomモジュールを「import」で読み込み
②変数「u」を指定し、uniform()関数を利用し、引数を「1,5」に指定
③変数「u」を表示
IDELを用いて表示
2回以上実行すると、「1.0から5.0」のあいだで異なるfloat型の値が得られることがわかります。
randint()関数を利用してみよう!
int型の乱数を利用することのできるモジュールです。
このモジュールも得られる乱数の範囲を指定することができます。
randint()関数の利用コード
import_random
変数 = random.randint(a,b)
ポイント
①(_部分)半角スペース
②(.部分)ドット忘れずに
③(,部分)カンマ忘れずに
使用例
1.0~5.0の範囲からint型の乱数を取得するプログラムを作成します
①randomモジュールを「import」で読み込み
②変数「r」を指定し、randint()関数を利用し、引数を「1,5」に指定
③変数「r」を表示
IDELを用いて実行
choice()関数を利用してみよう!
乱数でリストや文字列の要素をランダムに取得することのできる「choice()関数」をみていきましょう。
choice()関数の利用コード
import_random
変数 = random.choice(文字列や配列)
使用例
文字列「あいうえお」からランダムに要素を取得するプログラムを作成します
①randomモジュールを「import」で読み込み
②変数「moji」に文字列「あいうえお」を代入
③変数「c」を指定しchoice()関数を利用、引数「moji」を指定
④変数「c」を表示
IDELを用いて表示
shuffle()関数を利用してみよう!
リストの中身をランダムに入れ替えるshuffle()関数を使ってみましょう。
shuffle()関数は文字列には対応していないため、注意が必要です。
shuffle()関数の利用コード
import_random
random.shuffle(リスト)
ポイント
①(_部分)半角スペース
②(.部分)ドット忘れずに
③(_)文字列は使用できません、リストを指定すること
使用例
リスト「あ、い、う、え、お」を指定し、ランダムに入れ替えるプログラムを作成します。
①randomモジュールを「import」で読み込み
②リスト「moji」に「あ、い、う、え、お」を代入
③shuffle()関数を利用
④リスト「list」を表示
IDELを用いて表示すると
Q練習問題
24面ダイスを振ったとき、出る数字を表示するプログラムをrandomモジュールを使用して作成しなさい。
※数字は整数型で表示する
A解答例
まとめ
乱数を扱うモジュールrandomについて解説。
random()、uniform()、randint()、choice()、shuflle()関数を解説し、以下の操作を確認。
・float型、int型の値の乱数の取得。
・値の範囲を指定しての乱数の取得。
・リストや文字列の要素をランダムに取得。
コメント