プログラマならモンティ・ホール問題もプログラミングで解いちゃうよね?

この記事はだいぶ前に書かれたものなので情報が古いかもしれません
二倍になるぞ、気をつけろ!

この記事を三行にまとめると

Pythonでモンティ・ホール問題
基本バージョン
シンプルバージョン
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。

動画内ではHTMLやCSSも書いていますが、ここではPython部分だけを紹介します。





基本バージョン

モンティ・ホール問題の一連の流れをそのままコードにしたバージョンです。プレイヤーが扉を選び、出題者が残りの扉のうちはずれの方を開け、プレイヤーは残った方の扉に変更するという。

win = 0
count = 10000

for n in range(count):
  door = ['red', 'green', 'blue']
  correct = random.choice(door)
  select = random.choice(door)

  for d in door:
    if d != correct and d != select:
      door.remove(d)
      break

  if select == door[0]:
    select = door[1]
  elif select == door[1]:
    select = door[0]

  if select != correct:
    win += 1

lose = count - win



シンプルバージョン

簡略化バージョン。最初に扉を選んだ時点で当たりかはずれか判定できるので、それだけをコード化しています。

door = ['red', 'green', 'blue']
win = 0
count = 10000

for n in range(count):
  correct = random.choice(door)
  select = random.choice(door)

  if select != correct:
    win += 1

lose = count - win
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください