Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで乱数を生成する方法|randomモジュールの主要関数を解説

Pythonには乱数を生成するための関数がいくつか用意されています。これらの関数は、ゲームや抽選など、ランダムな数値が必要となるさまざまな場面で活用できます。

乱数を使うには、まず random モジュールをインポートする必要があります。

import random

以下に、代表的な乱数生成関数を紹介します。

choice() – リストから1つの要素をランダムに選択

choice() 関数は、数値のコレクション(リストなど)から1つの要素をランダムに選んで返します。

サンプルコード

print ("リストから選ばれた乱数 : ",end="") 
print (random.choice([1, 4, 6, 100, 31]))

実行結果

リストから選ばれた乱数 : 100

randrange(beg, end, step) – 指定範囲内の整数を生成

randrange() 関数は、引数で指定した範囲内からランダムな整数を生成します。引数は「開始値」「終了値」「ステップ(間隔)」の3つです。

サンプルコード

print ("範囲から選ばれた乱数 : ",end="") 
print (random.randrange(2, 10, 3)) 

実行結果

範囲から選ばれた乱数 : 8

この例では、2から10未満までの間で、3ずつ増加する数値(2, 5, 8)の中からランダムに1つが選ばれます。

random() – 0以上1未満の浮動小数点数を生成

random() 関数は、0.0以上1.0未満の範囲でランダムな浮動小数点数を生成します。

サンプルコード

print ("0から1までの乱数 : ", end="") 
print (random.random()) 

実行結果

0から1までの乱数 : 0.42487645546

shuffle() – リストの要素をシャッフル

shuffle() 関数は、リストの要素をランダムな順序に入れ替えます。カードゲームの山札を切るような処理に便利です。

サンプルコード

list = [1, 3, 5, 10, 4] 
print ("シャッフル前のリスト : ", end="") 
for j in range(0, len(list)): 
   print (list[j], end=" ") 
print("\r") 
random.shuffle(list) 
print ("シャッフル後のリスト : ", end="") 
for j in range(0, len(list)): 
   print (list[j], end=" ")
   print("\r") 

実行結果

シャッフル前のリスト : 1 3 5 10 4 
シャッフル後のリスト : 3 10 1 4 5 

uniform(a, b) – 指定範囲内の浮動小数点数を生成

uniform() 関数は、引数で指定した下限と上限の間からランダムな浮動小数点数を生成します。引数は「下限」と「上限」の2つです。

サンプルコード

print ("6から11までの乱数 : ",end="") 
print (random.uniform(6,11)) 

実行結果

6から11までの乱数 : 7.18036982355346

まとめ

Pythonの random モジュールには、用途に応じて使い分けられる多彩な乱数生成関数が用意されています。

  • choice(): リストなどのシーケンスから要素を1つ選ぶ
  • randrange(): 指定した範囲・ステップから整数を選ぶ
  • random(): 0以上1未満の浮動小数点数を返す
  • shuffle(): リストの順序をランダムに入れ替える
  • uniform(): 指定範囲内の浮動小数点数を返す

これらの関数を組み合わせることで、ゲーム開発やシミュレーション、データ分析など、幅広いプログラムで乱数を効果的に活用できます。

  1. Pythonで素数を生成する方法をわかりやすく解説

    素数とは何か? 素数とは、1とその数自身以外の正の整数では割り切れない数のことです。たとえば、2、3、5、7、11などが素数に該当します。なお、1は約数を1つしか持たないため、素数には含まれない点に注意しましょう。 Pythonで素数を判定する基本的な考え方 Pythonでは、剰余演算子「%」を使うことで、ある数が別の数で割り切れるかどうかを簡単に調べられます。x % y の結果が0であれば、xはyで割り切れることを意味します。 1から100までの範囲で素数を求める場合、各数値(仮にxとします)について、2からx-1までのすべての数で順番に割り切れるかを確認する必要があります。この処理は、二

  2. Pythonで乱数を生成する方法を徹底解説!randomモジュールの基本と使い方

    Pythonの標準ライブラリには、乱数を生成するための機能がまとめられた random モジュールが用意されています。このモジュールを利用することで、浮動小数点数や整数の乱数、シーケンスからのランダムな要素の取得などを簡単に実現できます。ここでは、よく使われる主要な関数をサンプルコードとともに紹介します。random():0以上1未満の浮動小数点数を生成もっとも基本的な関数が random() です。この関数は、0以上1未満の範囲のランダムな浮動小数点数を返します。>>> import random>>> random.random()0.520470277