スポンサーリンク

標準ライブラリ|乱数を生成するrandomモジュール

ライブラリーとモジュール

乱数とは何か?

全く無秩序に、しかも出現の確率が同じになるように並べられた数字の列。
(デジタル大辞泉から引用)
すこし難しいですね…(。ŏ﹏ŏ)ウーン
では、
サイコロを例にして説明したいと思います。
サイコロは「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型の値の乱数の取得。 
・値の範囲を指定しての乱数の取得。
・リストや文字列の要素をランダムに取得。

コメント

タイトルとURLをコピーしました