-
Python Code - 몬티 홀 문제, Monty Hall ProblemPython 파이썬 Code 2021. 6. 5. 08:18
[ Python Code ]
import random
stay = 0
change = 0
for n in range(10000) :
doors = [ 1, 0, 0 ] #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 = [ 1, 0, 0 ] #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)
[ 관련 유튜브 영상 ]