본문 바로가기

개발/Python

[파이썬] 랜덤모듈 (random module)

random 모듈 import random

- randint(a,b) :

a와 b 사이의 랜덤한 int를 반환한다, 즉 반환하는 값 x는 a<=x<=b로 생각하면 된다.

import random

for n in range(5):
    print(random.randint(1,5))

- randrange(a, b) :

범위의 숫자 반환한다. 단 a<=x<b로써 randint와는 달리 b를 범위에 포함하지 않는 것이 차이점이고, 만약 매개변수 a를 입력하지 않고 b하나만 입력했을 때에는 0<=x<b의 범위 내에서 int를 반환한다.

import random

for n in range(5):
    print(random.randrange(1,6))

- shuffle(시퀀스) :

시퀀스를 임의로 배치한다. 하기 예제처럼 myList = [1,2,3,4,5]로 선언된 시퀀스를 shuffle 함수를 통해 [2,5,4,3,1]로 랜덤하게 섞을 수 있다.

import random

myList = [1,2,3,4,5]
print(myList)
random.shuffle(myList)
print(myList)

- choice(시퀀스) :

임의로 선택한다, 하기 문자열에서 choice함수를 사용하여 임의로 s가 선택되어 출력된 것을 볼 수 있다.

import random

ch = random.choice('gozz`s tistory')
print(ch)

-sample(시퀀스, 갯수) :

임의로 갯수만큼 선택한다. 두번째 인자에 뽑을 갯수를 입력하여, 하기 예제에서 랜덤하게 2개를 뽑았다.

import random

myList = [1,2,3,4,5]
print(myList)
print(random.sample(myList, 2))

- 간단한 로또 번호 뽑기 예제

sample 함수를 사용하여, 간단하게 1~45 사이의 6개 번호를 뽑는 예제이다.

import random

rotto = [n for n in range(1,45)]

for n in range(5):
    print(random.sample(rotto, 6))