carmi1909@ciencias.unam.mx

ejercicios_resueltos_6
mail@pastecode.io avatar
unknown
plain_text
2 years ago
3.9 kB
1
Indexable
Never
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 21:08:30 2021

@author: carmi
"""

#%% Ejercicio 128: Búsqueda inversa
"""
Descripción: 
    Escribe una función llamada busquedaInversa que encuentre todas las llaves en un
    diccionario que se asignan un valor específico. La función va a tomar el diccionario y el valor a buscar
    como sus parámetros. Va a regresar una lista (posiblemente vacía) de llaves del diccionario que se 
    asignan con el valor proporcionado.
    Agrega un programa principal (main) que demuestre la función busquedaInversa como parte de tu solución
    a este ejercicio. Tu programa debe crear un diccionario y luego mostrar que la función busquedaInversa
    funcione correctamente cuando regrese multiples llaves, una sola llave o ninguna llave. Asegurate que tu 
    programa principal solo corra cuando el archivo que contiene tu solución a este ejercicio no esté importado
    a otro programa

Solución:
    Definir función busqueda inversa(diccionario, valor):
        definir lista vacía LLAVES
        Por llave en diccionario:
            Si el valor de la llave es igual al valor:
                agregar a LLAVES el valor
        regresar LLAVES
    
    Definir una función principal (main) y probarla con la traducción de palabras en inglés a francés
    Correr la función main únicamente si el archivo no ha sido importado 
"""
from fc.tpw.mer_6 import main_128
    
if __name__ == "__main__":
    main_128()
"""
La parte que se me dificultó fue saber cómo referirse al valor de una correspondiente llave de un diccionaro,
para solucionar esto consulté la siguiente página: https://devcode.la/tutoriales/diccionarios-en-python/
Y lo que aprendí fue que nos ponemos treferir "the" como frEn[le] (usando el diccionario frEn)
"""
#%% Ejercicio 129: Simulación de dos dados
"""
Descripción:
    En este ejercicio simularas 1000 lanzadas de dados. Empieza escribiendo una función
    que simule lanzar un par de dados de 6 lados. Tu función no tomará ningún parámetro.
    Va a regresar el total de los dados lanzados como su único resultado.
    Escribe un programa principal (main) que use tu función para simular el lanzamiento
    de dos dados de 6 lados 1000 veces. A medida que tu programa carra, deberá contar
    el número de veces que el total ocurra. A continuación, deberá mostrar una tabla que
    resuma estos datos. Expresa la frecuencia por cada total como un porcentaje del 
    total de lanzamientos. Tu programa también debera mostrar el porcentaje esperado por
    cada total de a cuerdo a la teoría de probabilidad.

Solución:
    Definir la función dosDados:
        dado_uno = valor aleatorio entre 1 y 6
        dado_dos = valor aleatorio entre 1 y 6
        regresar dado_uno + dado_2
    Definir función principal (main):
        Crear diccionario con cada numero posible a caer como llave y en cada valor poner la probabilidad
        que tiene de caer de acuerdo a la teoría
        Crear diccionario con cada numero posible a caer como llave y en cada valor poner 0 (se llamará CUENTAS)
    Por cada número en el rango (1000):
        lanzamiento = dosDados()
        CUENTAS[lanzamiento] = CUENTAS[lanzamiento] + 1
    
    Imprimir taba con una columna con el número a caer, una columna con el porcentaje de caídas correspondente a los 
    lanzamientos hechos y otra columna con el porcentaje esperado de acuerdo a la teoría de probabilidad
"""

from fc.tpw.mer_6 import main_129

main_129()
"""
Lo que se me dificultó de este problema fue entender la función sorted, para esto visite la siguiente
página: https://docs.python.org/3/howto/sorting.html
Aprendí que se puede usar pra iterar las llaves en un diccionario, por ejemplo:
    >>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
    [1, 2, 3, 4, 5]
"""