1. 주사위를 n번 던졌을 때 1이 나올 확률을 python으로 구하기

① import random ← random 모듈을 불러오겠음
② 주사위를 던지는 경우
cnt = 0 ← 1이 나온 횟수를 일단 cnt 변수로 지정 (아직까진 한 번도 안 던졌으니까 0번임)
for i in range(10000): ← 범위를 10000번으로 지정하여 주사위를 10000번을 던질 때
dice = random.randint(1, 6) ←주사위의 1~6까지의 정수 중 하나를 무작위로 선택함 (1~6사이)
if dice == 1: ← 만약 1이 나왔을 때
cnt += 1 ← 위 변수 cnt에 1이 더해짐
③ p = cnt / 10000 ← 확률 = 일이 일어난 경우 / 전체의 경우
print(p)
2. 7개의 막대 중 2개의 당첨이 있다고 할 때, A와 B, C가 막대를 순서대로 한 개씩 뽑을 때의 확률

1) 경우 확실히 하기
- A, B, C 순서대로 막대를 1개씩 뽑는 것
2) A가 당첨될 확률
- 전체확률 = 분모 : 7가지
- A가 당첨될 확률 = 분자 : 2가지
- 2/7
3) B가 당첨될 확률은 순서에 의해 A가 당첨됐는지 아닌지에 따라 결정됨
- A가 이미 막대를 하나 가져갔으므로 전체 확률은 6가지
- A가 당첨됐다고 할 때 당첨 막대는 하나밖에 없으므로 당첨될 확률 : 1/6
- A가 당첨되지 않았다고 할 때 당첨 막대는 2개가 있으므로 당첨될 확률 : 2/6
- A가 당첨됐다고 할 때 당첨되지 않을 확률 : 5/6
- A가 당첨되지 않았다고 할 때 당첨되지 않을 확률 : 4/6
3) B의 당첨될 확률 구하기 : 이 상황은 동시에 일어나므로 곱의 법칙을 이용해야 함
- A와 B가 모두 당첨일 확률 : 2/7 x 1/6 = 2/42
- A는 당첨되지 않고 B는 당첨될 확률 : 5/7 x 2/6 = 10/42
- 2/42 + 10/42 = 2/7
- 즉 A가 처음 막대를 뽑을때와 똑같은 확률 = 순서는 상관 없음
>>> from fractions import Fraction #fractions 모듈에서 fraction을 불러와라 (분수 표현하기 위해)
>>> Fraction(1, 6) #분자는 1, 분모는 6으로 지정
Fraction(1, 6) #1/6을 의미
>>> x = Fraction(2, 7) * Fraction(5, 6) * Fraction(1, 5) #경우X = A당첨 → B낙첨 → C당첨
>>> y = Fraction(5, 7) * Fraction(2, 6) * Fraction(1, 5) #경우Y = A낙첨 → B당첨 → C당첨
>>> z = Fraction(5, 7) * Fraction(4, 6) * Fraction(2, 5) #경우Z = A낙첨 → B낙첨 → C당첨
>>> p = x + y + z # 경우 X, Y, Z에서 하나가 발생할 확률
>>> p
Fraction(2, 7)
'파이썬으로 다시 배우는 핵심고등수학 (python) > 06장 : 집합과 확률' 카테고리의 다른 글
| 6-2. 순열과 조합 (0) | 2021.02.10 |
|---|---|
| 6-1. 집합 (0) | 2021.02.09 |