Simulación de dados emparejados
De forma similar al ejemplo de la lección, lanzarás dos dados de dos bolsas, y cada bolsa contiene tres dados sesgados.
bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]
La diferencia es que los dados de las dos bolsas están emparejados: si eliges el segundo dado de bag1, también elegirás el segundo dado de bag2. En cada ensayo:
- Escoges un par de dados de las dos bolsas al azar y los lanzas
 - El éxito se produce si los puntos de 
dice1ydice2suman ocho; de lo contrario, fracasas 
Tu tarea consiste en completar el bucle for de la función roll_paired_biased_dice() y utilizar esta función para calcular las probabilidades de éxito de cada combinación única de puntos en dice1 y dice2.
Se han importado para ti los siguientes: random, numpy como np, pandas como pd, seaborn como sns y matplotlib.pyplot como plt.
Este ejercicio forma parte del curso
Simulaciones Montecarlo en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
def roll_paired_biased_dice(n, seed=1231):
    random.seed(seed)
    results={}
    for i in range(n):
        bag_index = random.randint(0, 1)
        # Obtain the dice indices
        dice_index1 = ____
        dice_index2 = ____
        # Sample a pair of dice from bag1 and bag2
        point1 = ____
        point2 = ____
        key = "%s_%s" % (point1,point2)
        if point1 + point2 == 8: 
            if key not in results:
                results[key] = 1
            else:
                results[key] += 1
    return(pd.DataFrame.from_dict({'dice1_dice2':results.keys(),
		'probability_of_success':np.array(list(results.values()))*100.0/n}))