import random
def shake():
# 1 - это приз, 0 - не приз; для удобства рядом позиции элементов,
# пригодятся после перемешивания в sample()
selection = [[1, 0], [0, 1], [0, 2]]
# выбираем 1 любой элемент из selection, например это может быть [0, 1]
chosen = random.sample(selection, 1)[0] # [[0, 1]] -> [0, 1]
pos_par = chosen[1] # сохраняем позицию двери, выбранной участником par - 1
# ведущий host выбирает другую позицию двери pos_host, где нулевой элемент - 0
for i in range(3):
if i != pos_par and selection[i][0] == 0:
pos_host = i
break
# участник выбирает новую позицию pos_ch вместо старой pos_par
for i in range(3):
if i != pos_par and i != pos_host:
pos_ch = i
break
return selection[pos_par][0], \
selection[pos_ch][0], \
k1 = k2 = 0
amount = 10000
for n in range(amount):
a, b = shake()
if a == 1: k1 += 1
if b == 1: k2 += 1
# k1 - количество побед, если не менять дверь
# k2 - если поменять дверь
print(k1/amount, k2/amount)
# 0.3352 0.6648