Хех,
пригорает у зайки ))
from random import randint
def coin():
""" реализация случайной бернуллиевской величины с p = q = 0.5 """
return randint(0, 1)
def bernoulli(p):
r = 0.
for _ in range(53): # магическое число обусловлено разрядностью типа float
# https://ru.wikipedia.org/wiki/Число_двойной_точности
if coin(): # тут должен быть быть источник случайной величины из условия,
# например итератор по списку случайных нулей и единиц
r += 1.
r *= .5
return int(r < p)
n, p = 10 ** 5, 1 / 3
print(sum(bernoulli(p) for _ in range(n)) / n)