ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Code - 몬티 홀 문제, Monty Hall Problem
    Python 파이썬 Code 2021. 6. 5. 08:18

    [ Python Code ]

    import random

    stay = 0

    change = 0

    for n in range(10000) :

      doors = [ 100 ] #1은 자동차(당첨), 0은 염소(꽝)

      random.shuffle( doors )

      which = int( random.random()*3 ) #참여자가 선택한 문 번호(index) [0,1)*3 = [0, 3) 

      firstChoice = doors[which] #참여자가 선택한 문 뒤의 상품(당첨1, 꽝0)

      del( doors[which] )

      #나머지 2개의 문 중 1(자동차)이 아닌 문을 사회자가 열게 함. 둘다 0(염소)이면 무작위 선택. 

      #2개의 문 중에서 사회자가 연 문은 삭제 처리. 남은 것이 나의 선택 바꾸기(change) 결과

      if ( doors[0]==1 ) :

        del( doors[1] )

      elif ( doors[1]==1 ) :

        del( doors[0] )

      else :

        random.shuffle( doors )

        del( doors[0] )   # [3, 5] -> [5]

      stay = stay + firstChoice #Stay

      change = change + doors[0#Change

    print(stay, change)

     

    import random

    stay = 0

    change = 0

    for n in range(10000) :

      doors = [ 100 ] #1은 자동차(당첨), 0은 염소(꽝)

      random.shuffle( doors )

      which = int( random.random()*3 ) #참여자가 선택한 문 번호(index) [0,1)*3 = [0, 3) 

      firstChoice = doors[which] #참여자가 선택한 문 뒤의 상품(당첨1, 꽝0)

      del( doors[which] )

      #나머지 2개의 문 중 1(자동차)이 아닌 문을 사회자가 열게 함. 둘다 0(염소)이면 무작위 선택. 

      #2개의 문 중에서 사회자가 연 문은 삭제 처리. 남은 것이 나의 선택 바꾸기(change) 결과

      if ( doors[0]==1 ) :

        del( doors[1] )

      elif ( doors[1]==1 ) :

        del( doors[0] )

      else :

        random.shuffle( doors )

        del( doors[0] )   # [3, 5] -> [5]

      stay = stay + firstChoice #Stay

      change = change + doors[0#Change

    print(stay, change)

     

     

    [ 관련 유튜브 영상 ]

    https://youtu.be/6UbYC2RudSM

     

Designed by Tistory.