모듈 소개

 

- random 모듈은 의사 난수를 생성하는 모듈입니다.

- python 2,3 지원

 

설치 방법

 

//python2

pip install random

//python3

pip3 install random

 

 함수 설명

- random()

import random

print random.random()
0.5476650935722526

 

  random() 함수는 0~1 사이의 실수를 출력합니다. 범위 : [0.0, 1.0)

 

- uniform(a,b)

import random

print random.uniform(50,100)
96.7284069027
uniform(a,b)는 a와 b사이의 실수를 출력합니다.

 

- random.randrange(stop)

- random.randrange(start, stop)

import random

print random.randrange(100)
print random.randrange(50,100)
23
58
randrange(stop)은 stop보다 작은 양의 정수를 출력합니다.
randrange(start, stop)은 start와 같고 stop보다 작은 양의 정수를 출력합니다.

 

- triangular(low, high)

import random
arr = [0 for _ in range(10)]

for i in range(10000):
    arr[int(random.triangular(0,10))] += 1

print arr
[192, 601, 985, 1375, 1822, 1772, 1383, 1045, 617, 208]
triangular(low, high)는 low와 high사이의 실수중 중앙값이 자주나오도록 출력합니다.
현재 예시에는 4~5의 값이 가장 많은 빈도로 생성됨.

 

- choice(seq)

import random

arr = ['apple', 'banana', 'cake', 'drink']
print random.choice(arr)
banana
choice(seq)는 비어있지 않은 seq에서 랜덤으로 하나의 element를 선택합니다.

 

- sample(seq, k)

import random

arr = ['apple', 'banana', 'cake', 'drink', 'egg', 'froyo', 'gingerbread']

print random.sample(arr, 5)
['froyo', 'apple', 'egg', 'banana', 'cake']
sample(seq, k)는 seq중 k개의 element를 뽑아 새로운 list를 반환합니다.
k가 len(seq)보다 클 경우 ValueError발생.

 

- shuffle(x)

import random

arr = range(10)
print arr

random.shuffle(arr)
print arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 8, 1, 6, 0, 7, 9, 5]
shuffle(x)는 시퀀스 x의 배열순서를 랜덤으로 섞어줍니다.

 

- getrandbits(k)

import random

print random.getrandbits(4)
6
getrandbits(k)는 랜덤한 k bit의 수를 출력합니다. 

 

 

- seed(a)

import random

random.seed(1)
print random.random()

random.seed('HelloRandom')
print random.random()

random.seed('\x41')
print random.random()

random.seed('A')
print random.random()
0.134364244112
0.965019574744
0.13530141966
0.13530141966
seed(a)는 Random Number Generator를 초기화 하는 seed를 설정합니다.
str, byte, bytearray, int등 여러 형태가 올 수 있으며, 모두 int형으로 치환되어 적용됩니다.
따라서 위의 예시에서 '\x41'과 'A'가 같은 seed로 적용된 것을 볼 수 있습니다.

 

 

 

 

 

 

복사했습니다!