天天看點

三門問題的計算機模拟,三門問題模拟

#!/usr/bin/python

import random

def get_input():

i = 100;

while(1):

inp = raw_input();

if inp == "":

break

i = int(inp)

if( i == 0 or i == 1 or i == 2):

break;

else:

print 'input not available'

return i

def one_unscor_door(scor,select):

seednum = random.randint(0,100);

total = [0,1,2]

if int(scor) == int(select) :

total.remove(scor)

if seednum % 2 == 0:

return total[0]

else:

return total[1]

else:

k = 0

for k in total:

if k != int(scor) and k != int(select):

break;

return k

def main():

doors = ();

doors = doors + (random.randint(0,100),)

doors = doors + (random.randint(0,100),)

doors = doors + (random.randint(0,100),)

scor_num = list(doors)

scor_num.sort()

scor_num = scor_num[2]

scor = doors.index(scor_num)

print ('tatol is 3 doors selece one:(0,1,2)');

select = get_input();

print 'you select : ',select

print 'now open a unscor door is: ',one_unscor_door(scor,select);

print 'do you want change if not press enter'

reselect = get_input();

if reselect != 100:

select = reselect

print 'select change to ' ,select

if int(scor) == int(select) :

print 'you scor'

else:

print 'you fail'

if __name__ == '__main__':

main()