1. ホーム
  2. python

[解決済み] random.randintとrandrangeの違いは何ですか?

2022-02-04 23:44:50

質問

との唯一の違いは randrangerandint というのは、私が知っているのは randrange([start], stop[, step]) を渡すことができます。 step 引数と random.randrange(0, 1) は最後の項目を考慮しませんが randint(0, 1) は最後の項目を含む選択肢を返します。

では、なぜ randrange(0, 1) を返さない 0 または 1 . なぜ randrange(0, 2) の代わりに randrange(0, 1) というのは?

解決方法は?

その に関するドキュメント randrange と言ってください。

random.randrange([start], stop[, step])

からランダムに選択された要素を返します。 range(start, stop, step) . と同等です。 choice(range(start, stop, step)) しかし、実際には範囲オブジェクトは作成されません。

そして range(start, stop) が返ってくる [start, start+step, ..., stop-1] でない場合 [start, start+step, ..., stop] . なぜかというと...ゼロベースでカウントするルールと range(n) が返されるはずです。 n の要素で構成されているのでしょう。ランダムなインデックスを取得するのに一番便利だと思います。

一方 randint として文書化されています。 :

random.randint(a, b)

以下のようなランダムな整数Nを返します。 a <= N <= b . のエイリアスです。 randrange(a, b+1)

だから randint は、欲しい乱数の最大値と最小値がある場合です。