Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación
CCPG1001
Francisco Ramirez Mendez
Agenda
• Ejercicios con Diccionarios
Diccionarios
Diccionarios
• Definición en Python
# Diccionario vacío
dic = {}
• Convertir a diccionario
indicadores = {
'Num empresas’:{'columna':17, 'puntaje':{'0-
9':1, '10-19':2,...}},
'Num coworkings':{'columna':5, 'puntaje':{'0-
15':10, '16-30':15,...}},
... }
Diccionarios • Tiene una lista de texto, donde cada
texto tiene el siguiente formato:
• Ciudad,Indicador,valor
• Ejemplo:
• Santiago de Chile,Num empresas,58
• Guayaquil,Inversion en $,17423
• ...
• Guayaquil,Num coworkings,5
• Convertir a diccionario
indicadores_ciudad = {
'Santiago de Chile': {'Num empresas': 58},
'Guayaquil': {'Inversion en $': 17423, 'Num
coworkings': 5},
... }
Leer diccionarios
Diccionarios • Defina getValor(indicadores_ciudad,
ciudad, indicador)
• Devuelve el valor según la ciudad y el indicador.
indicadores_ciudad = {
'Santiago de Chile': {'Num empresas': 58},
'Guayaquil': {'Inversion en $': 17423, 'Num
coworkings': 5},
... }
Diccionarios • Considere el siguiente diccionario de
criminalidad por ciudad
• Implemente función getCiudades(diccionario) que
retorne la lista de ciudades del diccionario, sin
repetir
diccionario = {
'Guayaquil': {'robo vehiculo':605,
'asalto':6345,...},
'Cuenca': {'robo vehiculo':123,
'asalto':676,...},
...
}
Diccionarios • Considere el siguiente diccionario de
criminalidad por ciudad
• Implemente función getCrimenes(diccionario) que
retorne la lista de crímenes del diccionario, sin
repetir
diccionario = {
'Guayaquil': {'robo vehiculo':605,
'asalto':6345,...},
'Cuenca': {'robo vehiculo':123,
'asalto':676,...},
...
}
Diccionarios • Considere los siguientes diccionarios,
el de criminalidad y población
• Implemente función getCiudadesMenosSeguras
(diccionario, poblacion, tipoCrimen)
• Retornar la lista de tres ciudades con mayor
índice de criminalidad = incidentes / poblacion.
# datos
diccionario = {
'Guayaquil': {'robo vehiculo':605,
'asalto':6345,...},
'Cuenca': {'robo vehiculo':123,
'asalto':676,...}, ... }
poblacion = {'Guayaquil': 2698000, 'Cuenca': 54898 ...}
# output
[{'Guayaquil': {'crimen': 'asalto', 'incidentes': 6345,
'poblacion': 2798000, 'indicePerCapita': 0.0023517}},…]
Diccionarios
Problema tipo exámen
• Considere lo siguiente:
• Consumo mensual en megavatios-hora (MWh)
informacion = {
'costa': ('Coca Codo Sinclair', …),
'sierra': ('San Francisco', 'Agoyán', …),
'oriente': ('Paute', 'Sopladora', …),
}
Diccionarios • Cree las siguientes funciones
• total_anual(consumo_energia, planta, ciudad) que
recibe el diccionario consumo energia, el nombre
de una planta y el nombre de una ciudad. La
función debe calcular y retornar el total anual de
megavatios-hora servido por planta a ciudad.
• total_plantas_ciudad(consumo_energia, planta)
que recibe el diccionario consumo energia y el
nombre de una planta. La función debe devolver
un diccionario cuyas claves corresponden a los
nombres de las ciudades a las que planta provee
energía y los valores corresponden al total anual
de megavatios-hora servido por planta a cada
ciudad.
Diccionarios • Cree las siguientes funciones
• megavatios_hora(consumo_energia, informacion)
que recibe el diccionario consumo energia y el
diccionario informacion. La función retorna el
total anual de megavatios-hora generados por las
plantas de energía de la región SIERRA.
• facturacion(consumo_energia) que recibe el
diccionario consumo energia y genera un
diccionario con la facturación total en dólares de
los seis últimos meses de cada ciudad, con la
siguiente estructura:
resultado = {
'Guayaquil': [2903,2145,3010,...,2945],
'Quito': [3102,3234,3223,...,3417]
}
Diccionarios
Iteraciones
Preguntas