Python Random モジュールは、Python でランダムな整数を生成するための組み込みモジュールです。これらの数字はランダムに発生し、ルールや指示には従いません。したがって、このモジュールを使用して、乱数を生成したり、リストや文字列のランダムな項目を表示したりすることができます。
ランダム()関数
random.random() 関数は、0.0 から 1.0 までの範囲の浮動小数点数を与えます。この関数に必要なパラメータはありません。このメソッドは、[0.0 および 1] 以内の 2 番目のランダムな浮動小数点値を返します。
コード
# Python program for generating random float number import random num=random.random() print(num)
出力:
0.3232640977876686
randint() 関数
random.randint() 関数は、指定された数値範囲からランダムな整数を生成します。
コード
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
出力:
215
randrange() 関数
random.randrange() 関数は、開始、停止、およびステップのパラメーターで定義された特定の範囲から項目をランダムに選択します。デフォルトでは、開始は 0 に設定されます。同様に、ステップもデフォルトで 1 に設定されます。
コード
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
出力:
4 9
Choice() 関数
random.choice() 関数は、空ではないシリーズから項目をランダムに選択します。以下のプログラムでは、文字列、リスト、セットを定義しています。そして、上記のchoice()メソッドを使用して、ランダムな要素が選択されます。
コード
# To select a random element import random random_s = random.choice('Random Module') #a string print( random_s ) random_l = random.choice([23, 54, 765, 23, 45, 45]) #a list print( random_l ) random_s = random.choice((12, 64, 23, 54, 34)) #a set print( random_s )
出力:
M 765 54
shuffle() 関数
random.shuffle() 関数は、指定されたリストをランダムにシャッフルします。
コード
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
出力:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
ランダムモジュールを使ったじゃんけんプログラム
コード
# import random module import random # Function to play game def start_game(): # Print games rules and instructions print(' This is Javatpoint's Rock-Paper-Scissors! ') print(' Please Enter your choice: ') print(' choice 1: Rock ') print(' choice 2: Paper ') print(' choice 3: Scissors ') #To take the user input choice_user = int(input(' Select any options from 1 - 3 : ')) # randint() Function which generates a random number by computer choice_machine = random.randint(1, 3) # display the machines choice print(' Option choosed by Machine is: ', end = ' ') if choice_machine == 1: print(' Rock ') elif choice_machine == 2: print('Paper') else: print('Scissors') # To declare who the winner is if choice_user == choice_machine: print(' Wow It's a tie! ') elif choice_user == 1 and choice_machine == 3: print(' Congratulations!! You won! ') elif choice_user == 2 and choice_machine == 1: print(' Congratulations!! You won! ') elif choice_user == 3 and choice_machine == 2: print(' Congratulations!! You won! ') else: print(' Sorry! The Machine Won the Game? ') # If user wants to play again play_again = input(' Want to Play again? ( yes / no ) ').lower() if play_again == ' yes ': start_game() else: print(' Thanks for playing Rock-Paper-Scissors! ') # Begin the game start_game()
出力:
This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 1 Option choosed by Machine is: Rock Wow It's a tie! Want to Play again? ( yes / no ) yes This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 2 Option choosed by Machine is: Scissors Congratulations!! You won! Want to Play again? ( yes / no ) no Thanks for playing Rock-Paper-Scissors!
ランダムモジュールの各種機能
以下は、random モジュールで使用できる関数のリストです。
関数 | 説明 |
---|---|
シード(a=なし、バージョン=2) | この関数は新しい乱数を作成します。 |
getstate() | このメソッドは、ジェネレーターの現在の状態を反映するオブジェクトを提供します。 setstate() に引数を指定して状態を回復します。 |
setstate(状態) | 状態オブジェクトを指定すると、getstate() が呼び出された時点の関数の状態がリセットされます。 |
ゲトランビット(k) | この関数は、k 個のランダム ビットを持つ Python 整数を提供します。これは、任意の巨大な範囲を管理できる randrange() のような乱数生成アルゴリズムにとって重要です。 |
randrange(開始、停止[、ステップ]) | 範囲からランダムな整数を生成します。 |
戻り値(a, b) | a と b 内の整数をランダムに提供します (両方を含みます)。 a > b の場合、ValueError がスローされます。 |
選択(シーケンス) | 空ではないシリーズ項目をランダムに生成します。 |
シャッフル(連続) | 順序を変更します。 |
サンプル(母集団, k) | 母集団系列からの k サイズの一意のエントリのリストを表示します。 |
ランダム() | この関数は新しい乱数を作成します。 |
ユニフォーム(a, b) | このメソッドは、ジェネレーターの現在の状態を反映するオブジェクトを提供します。 setstate() に引数を指定して状態を回復します。 |
三角(ロー、ハイ、モード) | 状態オブジェクトを指定すると、getstate() が呼び出された時点の関数の状態がリセットされます。 |
ガアス (ムー、シグマ) | 平均と標準偏差を使用して、浮動小数点数がランダムに生成されます。 | ベータ変量(アルファ,ベータ) | アルファとベータでは、浮動小数点数が 0 ~ 1 の範囲でランダムに生成されます。 - ベータ分布 | 指数変量(ラムダ) | 浮動小数点数は引数ラムダを使用して生成されます。 - 指数分布 | 正規変量(μ, シグマ) | 平均と標準偏差を使用して、浮動小数点数がランダムに生成されます。 - 正規分布 | ガマ変量(アルファ、ベータ) | アルファとベータでは、浮動小数点数がランダムに生成されます。 - ガンマ分布 |
結論
結論として、整数、浮動小数点数、リストやタプルなどの他のシーケンスを処理するために Python のランダム モジュールが提供するさまざまなメソッドについて学びました。また、シードが疑似乱数パターンにどのような影響を与えるかについても調べました。