パイソン ランダム モジュールを使用すると、乱数を生成できます。生成される数値は、使用される関数に基づく一連の擬似乱数です。乱数を生成するためにランダム モジュールで使用される関数には、次のようなさまざまな種類があります。 random.random()、random.randint()、random.choice()、random.randrange(開始、終了、幅) 、 などなど。
ここでは、 ランダムレンジ() の機能 ランダム モジュール。の ランダムレンジ() 関数は、パラメータで指定された範囲内で乱数を生成するために使用されます。開始番号、停止番号、および範囲内の番号をスキップするために使用される幅の 3 つのパラメーターを受け入れます。
randrange() の構文
random.randrange(start, stop[, width])
の ランダム.randrange() この関数は、指定された範囲 (つまり、開始と停止) 内の整数の乱数を返します。の ランダム.randrange() 関数は 3 つのパラメータを入力として受け取ります 起動停止 、 そして 幅 。これら 3 つのパラメータのうち、2 つのパラメータは 始める そして 幅 はオプションです。
- の 始める パラメータは、ランダムな範囲の開始または下限の整数です。開始パラメータがパラメータに渡されない場合、デフォルト値 0 (ゼロ) が使用されます。
- あ 停止 パラメータは、ランダムな範囲の最後の数値または上限の整数です。
- の 幅 パラメータは、ランダム シーケンス内の各数値間の範囲です。このパラメータはオプションであり、幅パラメータがパラメータに渡されない場合は、デフォルト値 1 が使用されます。
の randrange(開始、終了、幅) 関数には、乱数の整数を生成する際に end パラメーターが含まれません。の 停止 パラメータは エクスクルーシブ 、乱数で生成されるわけではありません。
このrandom.randrange(3, 30, 3)関数を見てください。この関数は、3、6、9、12、…27など、3から30までの任意のランダムな整数値を生成します。ただし、この関数は乱数を生成するときに 30 を含めることはありません。
アプリケーションでランダムを生成することは常に重要であり、日常生活でいくつかのリアルタイムの用途があります。たとえば、安全な取引を行うために、乱数を生成して OTP (ワンタイム パスワード) として顧客に送信します。乱数を生成する別の例は、ludo ゲームのプレイ中にランダムなサイコロの目を生成するために使用されます。
例 1:random.randrange() は、指定された範囲内のランダムな整数を生成します。
指定された範囲内でランダムな整数を生成する例を見てみましょう。この例では、random.randrange() 関数のさまざまな形式をすべて示します。
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
出力:
例 2: n の範囲 (倍数) のランダムな整数を生成します。
5、10、25、…、90、95 など、5 から 100 までの 5 の範囲の整数の乱数を生成してみましょう。
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
出力:
例 3: 特定の長さの整数の乱数を生成する
特定の長さのランダムな整数を生成することもできます。長さ 3 の乱数を生成したい場合は、 始める そして 停止 パラメータの ランダムレンジ() 100~999の4桁(1000)を除いた3桁の乱数を生成するため、3桁の最小数(100)と4桁の最小数(1000)として機能します。
例:random.randrange()を使用して3桁の乱数を生成する
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
出力:
First random number of length 3 is: 813 Second random number of length 3 is: 770
例 4: ランダムな負の整数を生成します。
-50 から -10 までの負の整数をランダムに生成する例を見てみましょう。
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
出力:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
例 5: ランダムな正または負の整数を生成する
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
出力:
-5 0
パラメータに注意してください 始める そして 停止 に渡されます ランダム.randrange() 関数は昇順でなければなりません。たとえば、 ランダム.randrange(5, 10) または ランダム.randrange(-20, -10) 。の 始める パラメータは常に、 停止 パラメータ;それ以外の場合、この関数は次のようなエラーを生成します。 'トレースバック (最新の呼び出しを最後に実行) し、randrange() の空の範囲で ValueError を発生させます' 。
例えば:
この例を見てください。この例では、 始める パラメータより大きい 停止 パラメータの ランダム.randrange() この関数は次のようなエラー メッセージを生成します。
ユーザー名とは何ですか
import random randomNumber = random.randrange(10,5)
出力:
その他の機能の一部 パイソンの ランダム モジュール 数値をランダムに生成するために使用されるものは次のとおりです。
ランダム.チョイス()
パイソン ランダム モジュールには 選択() リストまたは他のシーケンスからランダムな要素を選択するために使用される関数。あ ランダム.チョイス() 関数は、値のリストからランダムな要素を返すために使用されます。
ramdom.choice() の構文
random.choice(sequence)
または
random.choices(sequence, k=l)
ここでパラメータ 順序 文字列、リスト、タプル、および ランダム.チョイス() ランダム要素は 1 つだけです。
の中に ランダム.チョイス() 関数 k 返される要素の数です。の値について言及しなかったとします。 k パラメータ ランダム.チョイス() シーケンスまたはリストから単一の項目を返します。
例 1:
この例では、シーケンス (リスト) をパラメーターとして指定し、単一のランダムな要素を返します。
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
出力:
random item from list is: 10
例 2:
random.choices() 関数は主に、さまざまな可能性のあるランダムな要素を返すために使用されます。この関数は、ランダムな選択肢の数である重み (k) も受け取ります。たとえば、5 つの映画のリストから 3 つのランダムな映画名を出力したいとします。
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
出力:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
ランダム.randint()
パイソン ランダム.randint() 関数は、指定された範囲内でランダムな整数を生成するために使用されます。
構文:
random.randint(start, stop)
の ランダム.randint() 関数は 2 つのパラメータを取ります 始める 、これは開始範囲であり、 停止 、これは終了範囲です。乱数の生成には両方のパラメーター (開始、停止) が含まれます。
ランダムな整数のリストを生成するrandom.randint()の例
この例では、 randint() 関数を使用して、複数のランダムな整数のリストを作成します。 1 ~ 100 の範囲の 5 つのランダムな整数のリストを生成します。両方の値が含まれます。
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
出力:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
ただし、次のような可能性も考えられます。 ランダム.randint() 関数は出力結果で重複した数値を返します。結果に重複する乱数の整数を避けるには、次を使用します。 ランダム.サンプル() 関数。
ランダム.サンプル()
上記の例では、次のような可能性があります。 ランダム.randint() リストから重複した乱数を生成します。リストから一意の乱数を生成したい場合は、次を使用します。 ランダム.サンプル() 関数。
の ランダム.サンプル() 関数は、セット、リスト、その他のシーケンスから一意の要素を生成します。 Python のrandom.sample() 関数を使用すると、リストの範囲内の複数の要素を重複せずにランダムにサンプリングできます。
重複のないリストからランダムな要素を生成するrandom.sample()の例:
この例では、0 ~ 100 の範囲で 10 個のランダムな整数を生成します。
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
出力:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
乱数のリストを生成し、それぞれが「n」の倍数である必要がある場合は、 range() 関数の step パラメーターを使用します。
たとえば、random.sample(range(0, 100, 5), 10) を使用して、0 ~ 100 の範囲で 5 の倍数である 10 個のランダムな整数を生成します。
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
出力:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
リストソート()
パイソン 選別() 関数は、リストのランダムな整数を昇順にソートするために使用されます (デフォルト)。順序を指定してリスト値を降順に並べ替えることもできます。 逆 = 真 。のデフォルト値 逆行する は 間違い 。
例 1: sort() リスト要素を昇順に並べ替える
この例では、50 ~ 100 の範囲で幅 5 の 5 つの数値のランダムなリストを生成し、次を使用して並べ替えます。 選別() 関数。
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
出力:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
例 2: sort() リスト要素を降順でソートする
この例では、以下を使用してリスト要素を降順に並べ替えます。 ランダムリスト.sort(reverse=True) 。
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
出力:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]