carmi1909@ciencias.unam.mx

mer_6
 avatar
unknown
plain_text
4 years ago
2.3 kB
6
Indexable
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 25 22:38:18 2021

@author: carmi
"""
def busquedaInversa(datos,valor):
    """
    Busqueda la llave de un diccionario dado un valor específico

    Parameters
    ----------
    datos : 
        Diccionario.
    valor : 
        Valor a buscar en el diccionario.

    Returns
    -------
    llaves : 
        Llaves correspondientes al valor dado.

    """
    llaves = []
    for llave in datos:
        if datos[llave] == valor:
            llaves.append(llave)
    return llaves

def main_128():
    """
    Función principal que manda a llamar busquedaInversa

    Returns
    -------
    None.

    """
    frEn = {"le" : "the", "la" : "the", "livre" : "book", "pomme" : "apple"}
    
    print("Las palabras francesas para 'the' son: ", busquedaInversa(frEn, "the"))
    print("Esperado: ['le', 'la']")
    print()
    print("La palabra 'apple' en frances es: ", busquedaInversa(frEn, "apple"))
    print("Esperado: ['pomme']")
    print()
    print("La palabra 'asdf' en francés es: ", busquedaInversa(frEn, "asdf"))
    print("Esperado: []")

def dosDados():
    """
    Simula el lanzamiento de dos dados

    Returns
    -------
    Resultado de sumar los números caídos en cada dado

    """
    from random import randrange
    D_MAX = 6
    d1 = randrange(1, D_MAX + 1)
    d2 = randrange(1, D_MAX + 1)
    return d1 + d2

def main_129():
    """
    Ejecuta mil lanzamientos de dos dados y registra el porcentaje de caídas de cada número
    (del 2 al 12) en una tabla junto con el porcentaje de acuerdo a la teoría de la probabilidad

    Returns
    -------
    None.

    """
    esperado = {2: 1/36, 3: 2/36, 4: 3/36, 5: 4/36, 6: 5/36, 7: 6/36, 8: 5/36, \
                9: 4/36, 10: 3/36, 11: 2/36, 12:1/36}
        
    cuentas = {2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0, 11:0, 12:0}
    
    for i in range(1000):
        t = dosDados()
        cuentas[t] = cuentas[t] + 1
        
    print("Total   Porcentaje   Porcentaje")
    print("         Simulado     Esperado")
    for i in sorted(cuentas.keys()):
        print("%5d %11.2f   %8.2f" % \
              (i, cuentas[i] / 1000 * 100, esperado[i] * 100))
Editor is loading...