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) 

 

+ Recent posts