三门问题模拟

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

#!/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()