解答例:練習問題_5_2 条件付き確率
最初の関数や集合の定義は前問を流用しています。
# sからiの倍数の部分集合を取り出す関数
def fa(i, s):
return {x for x in s if x%i ==0 }
omg = set(range(1, 21))
a2, a3 = fa(2, omg), fa(3, omg)
p_a2_a3 = (len(a2 & a3)/len(omg)) / (len(a3)/len(omg))
p_a3_a2 = (len(a3 & a2)/len(omg)) / (len(a2)/len(omg))
print('p_a2_a3: ', p_a2_a3, '\n'
'p_a3_a2: ', p_a3_a2,
sep='')
p_a2_a3: 0.5
p_a3_a2: 0.3
こちらもベン図を掲載します。
p_a2_a3 または p_a3_a2 を求める式で len(omg) は分母と分子の両方にあるので取ってしまっても結果は同じです。