Skip to content
SISP Home
← Back to unit
CCPG1043 Unit 5

5.3 Soluciones — Unidad 05

Try the exercises yourself before checking these.

1. Ficha

ficha = {"nombre": "Ana", "carrera": "Computación", "semestre": 1}
print(ficha["nombre"], ficha["carrera"], ficha["semestre"])
ficha["semestre"] = 2

2. Frecuencias

frecuencias = {}

for letra in "programacion":
    frecuencias[letra] = frecuencias.get(letra, 0) + 1

print(frecuencias)

3. Dos listas

productos = ["pan", "leche", "arroz"]
precios = [0.60, 1.10, 1.25]
catalogo = {}

for posicion, producto in enumerate(productos):
    catalogo[producto] = precios[posicion]

4. Cadena estructurada

texto = "A:8.5,B:7.1,C:9.0"
calificaciones = {}

for registro in texto.split(","):
    codigo, nota = registro.split(":")
    calificaciones[codigo] = float(nota)

5. Transformación

porcentajes = {}

for codigo, nota in calificaciones.items():
    porcentajes[codigo] = nota * 10

6. Filtro

notas = {"A": 8.5, "B": 5.4, "C": 9.0, "D": 6.0}
aprobadas = {}

for codigo, nota in notas.items():
    if nota >= 6:
        aprobadas[codigo] = nota

7. Inversión segura

paises = {"EC": "Ecuador", "PE": "Perú", "CO": "Colombia"}
codigos_por_pais = {}

for codigo, pais in paises.items():
    codigos_por_pais[pais] = codigo

No se pierde información porque todos los nombres de país son diferentes.

8. Colisiones

paralelos = {"Ana": "A", "Luis": "B", "Marta": "A", "José": "B"}
estudiantes_por_paralelo = {}

for estudiante, paralelo in paralelos.items():
    if paralelo not in estudiantes_por_paralelo:
        estudiantes_por_paralelo[paralelo] = []
    estudiantes_por_paralelo[paralelo].append(estudiante)

print(estudiantes_por_paralelo)