![見出し画像](https://assets.st-note.com/production/uploads/images/91186797/rectangle_large_type_2_adf0016be18fc44704cb5ee5dacba9b5.png?width=1200)
Photo by
golchiki
[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までの範囲で指定する。
ちなみに私が気づく以前に、先人も発見していた法則でした…。紛らわしいですね。