в 8ой строчке класса MapReduce у вас следующее:
if cur_key == prev_key or prev_key is None:
и prev_key перед циклом приравнян к None, дык как цикл сможет пойти по else если в любом случае (даже если cur_key неравно prev_key) его значение будет True?
А ведь когда ведущий убирает одну дверь и просит выбрать заного, то остаться при своей двери это тоже выбор, который вы делаете снова, т. е. даже оставшись при своем мнении вы выбираете с вероятностью 1/2. Но подумав, в случае с 98 я бы всетаки выбрал другую, еслиб опытов было много то было бы ясно видно, что те кто выбрал другую дверь выигрывали бы чаще.
Соглашусь, но тут такой момент — если вы не меняете дверь, то одновременно увеличивается вероятность, что вы выбрали правильную дверь и уменьшается вероятность того, что вы выбрали неправильную дверь и так как выбор то между 2мя дверьми, то выбор остается между 2мя, который вы и сделали. Тут я бы выбрал оставить, так же и в случае с 98 невыигрышными я бы остался при своем мнении ибо целых 98 дверей резко увеличили мои шансы на выигрыш, который опять таки между 2мя оставшимися.
if cur_key == prev_key or prev_key is None:
и prev_key перед циклом приравнян к None, дык как цикл сможет пойти по else если в любом случае (даже если cur_key неравно prev_key) его значение будет True?