Random モジュールについてはこれまで何度も触れてきましたが、このセクションでは Random モジュールの使い方を詳しく紹介します。ランダム モジュールは主に、乱数を生成するための関数をいくつか提供します。次の表は、ランダム モジュールでよく使用されるいくつかの関数をまとめたものです。
0 から 1 までのランダムな浮動小数点数を生成します。次の例を参照してください。
importrandoma=random.random()b=random.random()c=random.random()print(a)print(b)print(c)
出力は次のとおりです。
0.7879655602680620.205244861798563160.8732074424182436
返される浮動小数点数の値と桁数が必ずしも同じではないことがわかります。
randint と randrange の違いに注意が必要です。Randint には a と b が含まれますが、後述する randint には a と b が含まれません。
上限と下限が含まれているかどうかをテストできます。コードは次のとおりです。
importrandoma=random.randint(1,3)b=random.randint(1,3)c=random.randint(1,3)print(a)print(b)print(c)
出力は次のとおりです。
312
a と b の値が含まれていることがわかります。
主に、このメソッドに a と b の値が含まれているかどうかを確認するためにテストを使用します。次のコードを見てください。
importrandoma=random.randrange(1,3)b=random.randrange(1,3)c=random.randrange(1,3)d=random.randrange(1,3)print(a)print(b)print( c)印刷(d)
出力は次のとおりです。
2212
テスト結果から、1 と 2 のみに下限 3 が含まれていないことがわかります。自分で実行してみることもできます。
セクション 2 では、random.shuffle(x) 関数を使用しました。この関数はシーケンスを並べ替えることができますが、変更可能なシーケンスに対してのみ機能するため、リスト内の要素をシャッフルするためによく使用されることに注意してください。
importrandoma=['d','o','t','c','p','p']print('シャッフル前のリスト:',a)random.shuffle(a)print('シャッフルアップリスト: ',a)
出力は次のとおりです。
シャッフル前のリスト: ['d','o','t','c','p','p'] シャッフル後のリスト: ['c','d','p', 'p', 'に']
random.choice(x) はシーケンス内のランダムな要素を返すことができます。これは次のように使用されます。
importrandoma=['d','o','t','c','p','p']b='dotcpp'c=('d','o','t','c' ,'p','p')print(random.choice(a))print(random.choice(b))print(random.choice(c))
出力は次のとおりです。
ODP
指定された範囲内でランダムな浮動小数点数を生成するために使用されるコードは次のとおりです。
importrandoma=random.uniform(1.1,3.3)b=random.uniform(5,6)c=random.uniform(100,200)print(a)print(b)print(c)
出力は次のとおりです。
2.58026565795090875.977193880181603141.03779834775494
上記の 6 つの使用法には、乱数を生成するための一般的なメソッドが含まれています。random モジュールでさらに多くのメソッドを使用したい場合は、Python のヘルプ ドキュメントを参照してください。