﻿import random  # 乱数を扱うためのモジュールをインポート
n = 100000  # 試行回数
x = [0] * n  # 感染していないことを0で表し，感染していることを1で表す．
y = [0] * n  # 陰性を0で表し，陽性を1で表す．
random.seed(1)  # 乱数のシード値を固定
for i in range(n):
    x[i] = random.choices([0,1], weights = [99,1], k=1)[0]    
    if x[i] == 0:  # 感染していない場合
        y[i] = random.choices([0,1], weights = [98,2], k=1)[0]
    else:  # 感染している場合
        y[i] = random.choices([0,1], weights = [1,99], k=1)[0]

# x[i] == 0 かつ y[i] == 1 をみたすiの個数
numerator = sum((x[i] == 0) and (y[i] == 1) for i in range(n))
# y[i] == 1 をみたすiの個数
denomimator = sum(y[i] == 1 for i in range(n))
# 確率を表示
print(numerator / denomimator)  # モンテカルロ法
print(2/3)  # 参考：理論値