Но в Python он обязателен к использованию (кроме случая когда функция модифицирует переданные в неё аргументы, но не думаю что что-нибудь хоть сколько-нибудь сложное можно написать на таких конструкциях) в отличие от Ruby, где в отсутствие return функция вернёт значение, полученное при выполнение последней операции
matches = 0
attempts = 0
for x in range(10000000):
detect = [random.choice([True, False]) for _ in range(3)]
if not any(detect) or all(detect):
continue
attempts += 1
if random.choice(detect) == random.choice(detect):
matches += 1
print(attempts, matches, matches/attempts)
Код симулирующий эксперимент из статьи.
Полученный результат: 7501076 4167267 0.5555558962474184
Проверка not any(detect) or all(detect) Исключает вариант, когда все 3 цвета выбраны одинаковыми, что не учитывалось в рассчёте из оригинальной статьи (без этой проверки результат равен 66%)
«Подводя итог. В трети случаев коробки имеют одинаковые цвета, потому что мы выбрали одинаковые двери. Две трети времени мы выбираем разные двери, и в одной трети этих случаев мы получим один и тот же цвет».
Цитата из оригинальной статьи, которая говорит нам о том, что дверцы могут совпадать
В оригинальной статье ничего не сказано про то что «Окна не должны совпадать». Они просто выбираются случайно. Можно случайно выбрать совпадающие. А вы этот случай исключаете, уменьшая вероятность совпадения цвета.
Лично мне не слишком нравится неожиданно обнаруживать, что мой комп будет включаться не минуту как обычно, а 20 минут, когда мне нужно срочно им воспользоваться.
Но в Python он обязателен к использованию (кроме случая когда функция модифицирует переданные в неё аргументы, но не думаю что что-нибудь хоть сколько-нибудь сложное можно написать на таких конструкциях) в отличие от Ruby, где в отсутствие return функция вернёт значение, полученное при выполнение последней операции
Код симулирующий эксперимент из статьи.
Полученный результат: 7501076 4167267 0.5555558962474184
Проверка
not any(detect) or all(detect)
Исключает вариант, когда все 3 цвета выбраны одинаковыми, что не учитывалось в рассчёте из оригинальной статьи (без этой проверки результат равен 66%)Цитата из оригинальной статьи, которая говорит нам о том, что дверцы могут совпадать