Está en la página 1de 21

Fundamentos de

Programación
CCPG1001
Francisco Ramirez Mendez
Agenda
• Ejercicios con Diccionarios
Diccionarios
Diccionarios
• Definición en Python

# Diccionario vacío
dic = {}

#Diccionario con valores


dic= {“200705080”: ‘Jhonny Pincay’, “201525896”: ‘Martha Perez’}
Convertir texto a diccionario
Diccionarios • Tiene una lista de texto, donde cada
texto tiene el siguiente formato:
• Indicador,columna,min1|max1|puntaje1,min2|
max2|puntaje2,..,minN|maxN|puntajeN
• Ejemplo:
• Num empresas,17,0|9|1,10|19|2,...
• Num coworkings,5,0|15|10,16|30|15,...

• 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)

Diccionarios • Tarifa en dólares por cada megavatio-hora


(MWh)
consumo_energia = { 'Quito': {
'Coca Codo Sinclair': { 'consumos':[400, 432, …,
213],'tarifa': 65},
'Sopladora': { 'consumos': [120, 55, 32, …,
70],'tarifa': 84}, ...},
'Guayaquil': {
'Coca Codo Sinclair':{ 'consumos': [310, 220, 321, …,
200],'tarifa':55},
'Paute': { 'consumos': [400, 432, …, 587],'tarifa':
79},
'Agoyán': { 'consumos': [50, 32, 32, …, 40],'tarifa':
32}, ...}, ...}

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

Esta foto de Autor desconocido está bajo licencia CC BY-NC-ND


Bibliografía
• Texto guía
• Rodríguez, Luis. Python Programación Luis
Rodríguez, Python Programación.
• Downey, A., Elkner, J., & Meyers, C. (2012). How
to think like a computer scientist: learning with
python. Green Tea Press, Wellesley,
Massachusetts.
Siguiente Próxima sesión
• Archivos
Gracias

También podría gustarte