見出し画像

[Python]ランダムな整数の作成時に気を付けること[プログラミング]

疑似乱数を扱うrandomモジュール

 Pythonには疑似乱数を扱うモジュールとして標準のrandomモジュールがあります。
 たとえば

import random

random.randint(1, 3)

 とすると、1~3のランダムな整数が返ってきます。整数の乱数を簡単に作成できるのが便利です。

numpyにもrandintあるけど…

 そのノリでnumpyの乱数を生成しようとしてハマったことがあります。numpyとはなに?という人はこちらの記事などをご覧ください(一通りやってみるとnumpyへの理解がとても深まる良いサイトです。)

import numpy as np

np.random.randint(1, 3)

 とすると、1~2までのランダムな整数が返ってきます。そう、numpyのrandintは終端の数を含まない仕様となっています。

まとめ

・randomモジュール(標準)
 random.randint(a, b)→bを含める。a~bの範囲で指定する。
・numpy
 numpy.random.randint(a, b)→bを含めない。a~b-1までの範囲で指定する。

ちなみに私が気づく以前に、先人も発見していた法則でした…。紛らわしいですね。



この記事が気に入ったらサポートをしてみませんか?