Articles

Pythonのランダムrandrange()とrandint()範囲内のランダムな整数を生成するには

この記事では、Pythonのrandom.randrange()random.randint()randrange()randint()関数を使用すると、範囲内のランダムな整数を生成できます。 たとえば、0から9の間のランダムな整数を生成したい場合は、これらの関数を使用できます。このレッスンの目標。

このレッスンでは、以下の方法を学びます:

  • randrange()randint()
  • 特定の長さだけのランダムな整数を生成します
  • nの倍数のランダムな整数を生成します
  • ランダムな整数のリストを作成します
  • 安全なランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • 特定の長さだけのランダムな整数を生成します
  • ランダム整数の多次元配列

さらに読む

  • pythonのランダムデータ生成演習とランダムデータ生成クイズを解く
  • また、, Pythonでのランダムデータの操作(完全ガイド)を読む

ランダムを使用する方法。randint()

構文:

random.randint(start, stop)

この関数は、範囲内のランダムな整数を返します。 この関数は2つのパラメータを取ります。 どちらも必須です。 たとえば、random.randint(0, 100)は、0から100の間の任意の乱数を返します。p>

randint(start, stop)は、ランダムな整数を生成しながら、開始番号と停止番号の両方を含みます。 これは、包括範囲から乱数を生成します。

ランダムです。randint()ランダムな整数を生成する例

出力:

Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89

注:randint()ValueError: non-integer arg 1が発生します。
範囲内のランダムな浮動小数点数を生成するには、このガイドを参照してください。

ランダムを使用する方法。randrange()

最初に構文を見てみましょう

この関数は、range(start, stop, step)startstepはオプションのパラメータです。

  • startstartのデフォルト値は0です。
  • stopstop引数は上限です。li>
  • stepstepのデフォルト値は1です。

ランダム。randrange()範囲内のランダムな整数を生成する例

ここでは、次の例では、与えられた範囲内のランダムなintを印刷しようとしています。 この例では、random.randrange()関数のすべてのバリアントを示しています。

出力:

Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180

注:浮動小数点値randrange()ValueError: non-integer arg 1 for randrange()が発生します。

特定の長さのランダムな整数を生成します

長さの乱数を生成したい場合はどうなりますかnrandom.randrange()を使用して長さ4の乱数を生成する例を見てみましょう。注:ご覧のとおり、長さ4(1000から9999)の乱数を生成するため、startを1000に設定し、stopを10000に設定します。この例では、3、6、39、66のような3の倍数であるxとyの間に乱数を生成します。

import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)

出力:

Random number multiple of 3 is 264

ランダムな負の整数を生成します

-60〜-6の間のランダムな負の整数を生成すP>ランダムな正または負の整数を生成します

import randomnum = random.randint(-10, 10)print(num)

ランダムに1または-1を生成します

import randomnum = random.choice()print(num)

注: 私たちはランダムを使用しました。choice()は、数字のリストから単一の数字を選択します。 ここで私たちのリストは

乱数のリストを生成

このセクションでは、複数の乱数を生成する方法を見ていきます。 テストや操作を実行するためにサンプルリストが必要な場合があります。 この場合、手動で作成する代わりに、randint()randrange()を使用してランダムな整数のリストを作成できます。 この例では、10個のランダムな整数のリストを作成する方法を説明します。

出力:

Printing list of 10 random numbers

この例では、リスト内の重複した番号を取得する機会があります

重複のない乱数のリストを作成します

上記の例では、リスト内の重複した乱数を取得する機会があります。 リスト内の各番号が一意であることを確認したい場合は、一意の乱数のリストを生成する簡単な方法があります。 ランダムを使用します。sample()一意の乱数のリストを作成できます。

  • random.sample()は、値の範囲内で選択された乱数のサンプリングされたリストを返します。
  • 要素を繰り返すことはないので、重複することなく乱数のリストを取得できます

0から1000の範囲の10個の乱数を生成する方法を見てみ

出力:


nsteprange()random.sample(range(0, 1000, 5), 10)

続きを読む:random。sample()

乱数リストの並べ替え

ランダムな整数のリストを昇順で並べ替えたい場合は、sort()関数

出力を使用します。

Before sorting random integers listAfter sorting random integers list

安全なランダムな整数を生成

上記のすべての例は暗号的に安全ではありません….. 暗号的に安全なランダムジェネレータは、2つのプロセスが同時に同じ番号を取得できないように、同期メソッドを使用して乱数を生成します。 セキュリティに依存するアプリケーションの乱数を生成する場合は、この方法を使用する必要があります。3.6未満のPythonバージョンを使用していて、暗号的に安全なランダム整数を生成したい場合は、random.SystemRandom().randint()random.SystemRandom().randrange() Pythonでランダムデータを保護する方法を参照してください。

例:

出力:3.6よりも高いPythonバージョンを使用している場合は、secretsモジュールを使用して安全なランダム整数を生成できます。出力:

Random integer generated using secrets module is 8
  • pythonで安全なランダムデータ。
  • Python secretsモジュール

ランダムな整数のランダムな多次元配列を作成します

PythonのNumPyモジュールにはnumpy.randomパ 与えられた範囲内の整数のランダムな多次元配列を作成するには、次のNumPyメソッドを使用できます。

さて、例を見てみましょう。

10と50の間のintの4×4配列を生成します。

出力:

4 x 4 array of ints between 10 and 20 inclusive ]

60と100の間のintの5×3配列を生成します。

出力:

3 x 5 array of ints between 10 and 20 exclusive ]

randint()とrandint()について覚えておくべき点randrange()

  • 包括範囲から乱数を生成する場合は、randint()を使用します。
  • ステップ値を指定して範囲内の乱数を生成する場合は、randrange()randrange()関数のいくつかの値の制約に注意する必要があります。P>
    • randint()randrandrange()ValueError: non-integer arg 1 for randrange()が発生します。 範囲内の間にランダムな浮動小数点数を生成するには、この記事を参照してください。
    • ステップは0であってはなりません。 0に設定すると、ValueError: zero step for randrange()

    すべての正の数を使用している場合、開始は停止よりも大きくすべきではありません。 誤ってstartをstopよりも大きく設定すると、ValueError: empty range for randrange()

    import randomprint(random.randrange(100, 10, 2))

    出力が得られます。

    ValueError: empty range for randrange()

    ただし、負のステップ値を使用している場合は、start値をstopよりも大きく設定することもできます。

    import randomprint(random.randrange(100, 10, -2))

    出力:

    60

    だからあなたはどう思いますか?私はあなたから聞きたいです。

    私はあなたから聞きたいです。

    あなたはこの記事についてどう思いますかrandint()randrange()? または、これらの2つの機能の使用法の1つを見逃したかもしれません。 いずれにせよ、私は以下のコメントを残して知ってみましょう。また、Pythonでランダムデータを扱うことをよりよく理解するために、次の演習とクイズを解決してみてください。

    また、次の演習とクイズを解決してくださ

    • Pythonのランダムデータ生成練習は、Pythonでランダムデータ生成技術を練習し、習得します。
    • Pythonのランダムデータ生成クイズは、ランダムデータ生成の概念をテストします。