2007-수리-나형-홀수-28

문제

2007-수리-나형-홀수-28

풀이

from sympy import Rational
from itertools import product
all_possibilities = list(product("HT", repeat=3))

A_list = []
B_list = []
count = 0
for event in all_possibilities:
    num_heads = sum(1 for i in event if i == "H")
    if num_heads<=1 :
      A_list.append(event)
    if num_heads in [0, 3]:
      B_list.append(event)
def Prob(S):
    return Rational(len(S), len(all_possibilities))


def intersection(a,b):
    return set(a) & set(b)
Prob(A_list) == Rational(1,2)
True
Prob(intersection(A_list, B_list)) == Rational(1,8)
True
Prob(intersection(A_list, B_list))  == Prob(A_list) * Prob(B_list)
True