파이썬 랜덤모듈이란 랜덤으로 숫자를 출력해주는 모듈이다.
0과 1 사이의 난수 하나를 출력해준다.
#편의상 random모듈을 r이라고 표현하겠다.
import random as r
r.random()
#결과
0.8118370195916361
random은 0과 1 사이의 난수 하나를 출력해 준다.
a와 b사이의 난수 하나를 출력해 준다.
#편의상 random모듈을 r이라고 표현하겠다.
import random as r
#랜덤으로 주사위의 수 출력
r.randrange(1,7)
#range()함수처럼 randrandge(숫자1,숫자2)도 숫자1이상, 숫자2미만의 범위를 갖는다.
#결과
2
shuffle함수는 음악어플의 shuffle기능 처럼 리스트안에 들어있는 순서를 뒤죽박죽으로 만들어 준다.
import random as r
char = ['a','b','c','d','e','f','g']
num = [1,2,3,4,5,6]
r.shuffle(char)
r.shuffle(num)
print(char)
print(num)
결과
['d', 'f', 'a', 'e', 'b', 'g', 'c']
[1, 5, 2, 4, 6, 3]
#문자 숫자 상관없이 가능하다.
shuffle기능은 기존에 있던 순서룰 바꾸는 것일 뿐,
출력을 해주는 함수가 아니기 때문에 print를 쓸 수 없다.
import random as r
char = ['a','b','c','d','e','f','g']
print(r.shuffle(char))
#결과
None
shuffle된 값을 보고 싶다면 다시 char을 출력해줘야 한다.
import random as r
char = ['a','b','c','d','e','f','g']
r.shuffle(char)
print(char)
#결과
['c', 'f', 'd', 'g', 'a', 'e', 'b']
리스트 내의 원소 하나를 랜덤으로 출력해 준다.
import random as r
char = ['a','b','c','d','e','f','g']
print(r.choice(char))
#결과
a
남학생이면서 소설책을 좋아할 조건부 확률은?
P(소설책 | 남학생) = 25%
소설책 여행책
남 10 30
여 40 20
문제설명:
import random
import numpy as np
a=['ms']*10
b=['my']*30
c=['ws']*40
d=['wy']*20
e=a+b+c+d
random.shuffle(e)
cnt=0
cnt2=0
for i in range(100000):
result = np.random.choice(e)
if result[0]=='m':
cnt = cnt + 1
if result[1] =='s':
cnt2 = cnt2 + 1
m = cnt/100000
ms = cnt2/100000
print(round(ms/m*100))