プログラミングでは、さまざまな場面で乱数が必要になります。
例えば、ゲームを制作している場合、フィールドに登場するキャラクターをランダムにしたいということがあります。このような場合は、乱数を使えばランダムに出現するキャラクターを変えることができます。
このように、乱数はプログラミングを使って何かを制作する際不可欠な要素の1つだと言えます。今回は、Pythonで乱数を扱う手法を解説します。
乱数とは?
乱数といっても奥が深いので、簡単に説明します。
乱数とは、コンピュータによって無作為に作られた数字のことを指します。規則性が一切存在しないので、数字が偏ることはありません。
randomモジュール
Pythonでは、randomモジュールを使えば簡単に乱数を扱うことができます。
試しに、randomで使えるメソッドの1つであるrandrange()を使って乱数を生成してみます。
import random
print(random.randrange(1000))
これを実行すると、0から999までの整数の中から無作為に選ばれた整数が出力されます。無作為に整数が決定されるので、実行するたびに異なる整数が出てくることが分かると思います。
random:関数の紹介
randomモジュールにはさまざまな関数があります。ここでは使うことが多い関数をいくつか紹介します。
randint(a,b)
この関数を使うと、a以上b以下の整数が返されます。
import random
print(random.randint(100,1000))
random()
この関数は、0.0~1.0までの範囲に入る浮動小数点数を返します。引数を設定する必要はありません。
import random
print(random.random())
randrange()(引数はrange()と同じ)
randrange()関数は、行いたい処理によって引数の数が異なります。forループを書く際に使うrange()関数と同じように引数を設定します。
import random
print(random.randrange(100)) #引数は1つ
print(random.randrange(100,1000)) #引数は2つ
print(random.randrange(100,1000,50)) #引数は3つ
引数が1つの場合(randrange(a))は、0からa-1までの範囲から無作為に選ばれた整数が返されます。
引数が2つの場合(randrange(a,b))は、aからb-1までの範囲から無作為に選ばれた整数が返されます。
引数が3つの場合(randrange(a,b,c))は、aを初項、cを等差とする等差数列の中から選ばれた整数が返されます。ただし、選ばれる整数はb以下です。