Pythonのrandomモジュールで乱数を生成
2897 ワード
今日Pythonで小さなプログラムを作成するときに乱数を使うので、Pythonが各種乱数を生成する方法についてネットで調べてみました.
ここでPythonのrandomモジュールを用いて乱数を生成する.まずモジュールをインポートする必要があります:import random
一.要素をランダムに生成
二.ランダム配列を生成
三.リストまたはtupleをランダムに生成
ここでPythonのrandomモジュールを用いて乱数を生成する.まずモジュールをインポートする必要があります:import random
一.要素をランダムに生成
import random
# 0 1 : 0 <= n < 1.0
print(random.random())
>>> 0.8296185863491462
# , , 。
# a > b, n: a <= n <= b。 a >> 8.257312492950838
# 。 a , b ,
# n: a <= n <= b, :random.randint(a, b)
# : a<=b
print(random.randint(1, 10))
>>> 3
# ,
# :random.randrange(start, stop, step)
# 0-10 , 2, [0,2,4,6,8],
print(random.randrange(0, 10, 2))
>>> 2
# 。 :random.choice(sequence)
# :sequence python , ;
# :list, tuple, sequence。
print(random.choice( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
print(random.choice( ('1', '2', '3', '4', '5') ))
print(random.choice( [1, 2, 3, 4, 5] ))
>>> orange
>>> 2
>>> 2
# 。 :random.shuffle(x[, random])
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print(p)
>>> ['Python', 'is', 'simple', 'powerful', 'and so on...']
# 。sample 。
# k sequence 。 :random.sample(sequence, k)
list = [1,2,3,4,5,6,7,8,9]
print(random.sample(list, 2))
print(random.sample(list, 5))
>>> [5, 3]
>>> [9, 5, 4, 7, 3]
二.ランダム配列を生成
import numpy as np
# array
# :
a = np.array([2,1,4,5,3,9,6,7,8,0])
print(a)
>>> array([2,1,4,5,3,9,6,7,8,0])
# (0,1) 10
# ;
b = np.random.rand(10)
print(b)
>>> array([ 0.43634533, 0.00256198, 0.9252553 , 0.46312913, 0.18253324,
0.70458872, 0.79719794, 0.18972441, 0.5304701 , 0.11495708])
# (0,1) 10
# ;
c = np.random.random(10)
print(c)
>>> array([ 0.62725822, 0.69752737, 0.67910128, 0.32876791, 0.05591991,
0.71435415, 0.62612756, 0.10492805, 0.45868039, 0.66527572])
# (0,1) 3*4
# ;
d = np.random.random(size = (3,4))
print(d)
>>> array([[ 0.81287511, 0.07447028, 0.83052561, 0.69899251],
[ 0.30087294, 0.24102044, 0.2261788 , 0.7931203 ],
[ 0.10688122, 0.93165383, 0.02486699, 0.66883373]])
三.リストまたはtupleをランダムに生成
import random
# list tuple
# :
a = [random.randint(0,5) for i in range(20)]
print(a)
# ;
for _ in range(10):
b = random.randint(0,5)
print(b)
結果:[5, 2, 0, 1, 3, 2, 4, 1, 2, 3, 5, 1, 1, 3, 1, 3, 1, 1, 3, 0]
4
2
1
1
3
0
5
4
4
5