【Python】 乱数

乱数 の 取り扱い方
ランダムに変わる乱数を用いれば,おみくじやジャンケンなどのゲームにも応用できます。

乱数​  
   乱数の値を得るには

   random() を使えば簡単に得られます。
※ random() 関数には  import random が必要です。
  標準ライブラリ randomモジュールをインポートする事でrandom関数が使えるようになります。
   
seed()を使った乱数の初期化方法

乱数は計算によって算出され、 この元となる値を種と言います。pythonの場合は、C言語とは異なり実行するたびに値が異なって発生します。seed()の値に定数を入れると乱数が固定されます。

 

《 test022.c 》

import random
random.seed()
for x in range(3):
     print(random.random())
print("") 
random.seed(5)
for x in range(3):
     print(random.random())
結果
 
     上から3行は乱数が実行のたびに異なりますが、下3行の乱数は同じ値になります。
   
   

乱数 の 発生パターン 
        • 0~1.0の範囲    実数​
          random.random()

        • min~maxの範囲 実数
          random.uniform(min,max)

        • 0~maxの範囲 整数  
          random.randrange(max)

        • min~maxの範囲 整数
          random.randint(min,max)
          random.randrange(min,max)

        • min~maxの範囲で N step で生成された値 整数
          random.randrange(min,max,step)

        • 複数の値を選択 (重複なし)
          random.sample(リスト,個数)

        • 複数の値を選択 (重複あり) 
          random.choice(リスト,個数)

        • 他にも実数分布を表すrandom関数がありますが、上記の乱数で十分使えると思います。  
《 test023.c 》

import random
xxx = [51, 52, 53, 54, 55]
a = random.random()
print("01 ",a)
b = random.uniform(1,5)
print("02 ",b)
c = random.randrange(10)
print("03 ",c)
d = random.randint(5, 12)
print("04 ",d) 
e = random.randrange(10, 20)
print("05 ",e)
f = random.randrange(10, 20,2)
print("06 ",f)
g =random.sample(xxx,3)
print("07 ",g)
h = random.sample(range(10, 20, 2), k=4)
print("08 ",h)
i = random.sample(('太郎', '花子', '良子'), 2)
print("09 ",i)
j = random.sample('いろはにほへと', 5)
print("10 ",j)
k =random.choices(xxx)
print("11 ",k)
l=random.choice([61, 62, 63, 64, 65]) 
print("12 ",l)
m = random.choices(range(10, 20, 2), k=4)
print("13 ",m)
n = random.choices(('太郎', '花子', '良子'))
print("14 ",n)
o = random.choices('いろはにほへと')
print("15 ",o)

結果  
     

 

目次