#EUCODEWEEK Listas, diccionarios y conjuntos en Python
🗓️ Lunes 20 de Octubre: El Poder de la Organización de Datos
🚀 EU Code Week: Estructuras de Datos y Sostenibilidad Global
Asignatura: Programación y Computación (2º Bachillerato)
En esta etapa, no solo aprendemos a programar; aprendemos a estructurar la información para resolver problemas complejos y globales. Durante la EU Code Week, nos sumergimos en las estructuras de datos avanzadas de Python para ver cómo la manipulación eficiente de la información es clave para alcanzar los Objetivos de Desarrollo Sostenible (ODS).
El inicio de la semana se centró en la gestión y agregación de datos, fundamentales para cualquier análisis estadístico o toma de decisiones a gran escala.
1. Listas: Almacenamiento y Acumulación
Exploramos los tipos de datos compuestos en Python, comenzando con las listas. Aprendimos a recorrer una lista y a utilizar un bucle acumulador para calcular totales.
- Ejemplo Práctico (ODS 13: Acción por el Clima 🌎): Calcular el total de emisiones de $\text{CO}_2$ registradas por distintas ciudades para medir el impacto global.
Python
# Emisiones de CO2 (en toneladas) de 4 ciudades en un mes
emisiones_co2 = [1500, 2300, 950, 4100]
total_emisiones = 0
# Bucle Acumulador
for emision in emisiones_co2:
total_emisiones += emision
print(f"El total de emisiones CO2 es: {total_emisiones} toneladas")
# ODS 17: Alianzas para lograr los Objetivos: Los datos pueden ser integrados de distintas fuentes.
| Concepto de Programación | ODS Relacionadas |
| Bucle Acumulador sobre Listas | 🌎 ODS 13: Acción por el Clima |
| Recorrido de Listas | 🤝 ODS 17: Alianzas para lograr los Objetivos |
2. Diccionarios y Conjuntos: Datos con Sentido
Avanzamos hacia los diccionarios para almacenar información con claves (key-value pairs), y los conjuntos para aplicar lógica matemática de unión e intersección.
- Ejemplo Práctico (ODS 10: Reducción de las Desigualdades 📉 – Diccionario): Almacenar la tasa de abandono escolar asociada a cada región para focalizar recursos.
Python
tasas_abandono = {
"Norte": 12.5,
"Centro": 8.1,
"Sur": 18.9,
"Este": 11.2
}
# Recorrido de Diccionario para identificar la región más crítica
for region, tasa in tasas_abandono.items():
if tasa > 15.0:
print(f"Alerta: La región {region} tiene una tasa de abandono del {tasa}%")
- Ejemplo Práctico (ODS 9: Innovación e Infraestructura 💡 – Conjuntos): Determinar proyectos que cumplen criterios duales (e.g., Agua y Energía).
Python
paises_con_ODS6_agua = {"España", "Francia", "Alemania", "Japón"}
paises_con_ODS7_energia = {"España", "Japón", "Brasil", "China"}
# Operación de Intersección
cumplen_ambas = paises_con_ODS6_agua.intersection(paises_con_ODS7_energia)
print(f"Países que cumplen ODS 6 y ODS 7: {cumplen_ambas}")
| Concepto de Programación | ODS Relacionadas |
| Recorrido de Diccionarios | 📉 ODS 10: Reducción de las Desigualdades |
| Operaciones con Conjuntos (Intersección) | 💡 ODS 9: Industria, Innovación e Infraestructura |
🗓️ Miércoles 22 de Octubre: Análisis y Búsqueda Inteligente
El segundo día consolidamos el uso de listas y diccionarios con un enfoque en la condicionalidad y el análisis estadístico.
1. Listas con Condiciones y Promedios
Realizamos ejercicios avanzados de listas con condiciones (filtrando elementos) y calculamos la media de los elementos de una lista.
- Ejemplo Práctico (ODS 3: Salud y Bienestar 👩⚕️): Calcular la media de la esperanza de vida solo para países con alta inversión en sanidad.
Python
esperanzas_vida = [78, 85, 62, 75, 81, 70]
# Listas con Condiciones (filtrar solo las vidas por encima de 75)
vidas_altas = [vida for vida in esperanzas_vida if vida >= 75]
# Cálculo de la Media
if vidas_altas:
media_vidas_altas = sum(vidas_altas) / len(vidas_altas)
print(f"Media de esperanza de vida en países de alto desempeño: {media_vidas_altas:.2f} años")
# ODS 2: Hambre Cero: Se aplica lógica similar para filtrar cosechas por rendimiento.
| Concepto de Programación | ODS Relacionadas |
| Listas con Condiciones | 🍎 ODS 2: Hambre Cero |
| Cálculo de la Media (Promedio) | 👩⚕️ ODS 3: Salud y Bienestar |
2. Búsqueda y Validación en Diccionarios
Trabajamos en el recorrido y búsqueda de valores específicos en un diccionario, una habilidad esencial para la gestión de bases de datos.
- Ejemplo Práctico (ODS 16: Paz, Justicia e Instituciones Sólidas ⚖️): Verificar el estado de la implementación de políticas de transparencia.
Python
estado_politicas = {
"Transparencia_Fiscal": "Completada",
"Acceso_Información": "En Progreso",
"Reforma_Judicial": "Pendiente",
"Lucha_Corrupción": "Completada"
}
politica_a_verificar = "Reforma_Judicial"
# Búsqueda de Valores en Diccionario
if politica_a_verificar in estado_politicas:
estado = estado_politicas[politica_a_verificar]
print(f"El estado de '{politica_a_verificar}' es: {estado}")
| Concepto de Programación | ODS Relacionadas |
| Búsqueda de Valores en Diccionarios | ⚖️ ODS 16: Paz, Justicia e Instituciones Sólidas |
📽️ Documentación Audiovisual de las Sesiones
Aquí puedes encontrar los vídeos que ilustran los conceptos teóricos y los ejemplos prácticos que hemos desarrollado.
| Descripción del Vídeo | Fecha | Enlace al Vídeo (¡Próximamente!) |
| Introducción a Listas, Bucle Acumulador y Ejemplos de ODS. | Lunes 20 de Octubre | [Espacio para Enlace] |
| Recorrido de Diccionarios y Operaciones con Conjuntos. | Lunes 20 de Octubre | [Espacio para Enlace] |
| Listas Condicionales, Cálculo de la Media y Ejemplos de ODS. | Miércoles 22 de Octubre | [Espacio para Enlace] |
| Búsqueda Avanzada en Diccionarios. | Miércoles 22 de Octubre | [Espacio para Enlace] |
## 🌍 EU Code Week – Programación y Computación (2º Bachillerato)
Durante la **EU Code Week**, el alumnado de **2º de Bachillerato** ha participado activamente en actividades de **programación en Python**, integrando los **Objetivos de Desarrollo Sostenible (ODS)** en cada práctica.
Nuestro propósito ha sido demostrar que **la programación no solo resuelve problemas técnicos**, sino que también puede ayudar a **entender, analizar y mejorar el mundo** que nos rodea.
---
### 🗓️ Lunes, 20 de octubre
#### Tema: Tipos de datos compuestos en Python
Durante esta sesión, exploramos tres estructuras fundamentales del lenguaje:
1. **Listas (list)**
Aprendimos a crear, recorrer y acumular valores en una lista.
Por ejemplo, el siguiente programa calcula el total de emisiones de CO₂ de una semana:
emisiones = [12.5, 10.8, 9.6, 11.3, 13.2, 10.9, 12.0]
total = 0
for valor in emisiones:
total += valor
print("Emisiones totales:", total)
**ODS relacionados:**
- 🟢 ODS 13: Acción por el clima
- ⚙️ ODS 9: Industria, innovación e infraestructura
2. **Diccionarios (dict)**
Recorrimos las claves y valores de un diccionario para mostrar datos organizados.
Ejemplo: registro de consumo de agua por vivienda.
consumo = {"Casa A": 120, "Casa B": 95, "Casa C": 110}
for vivienda, litros in consumo.items():
print(vivienda, "ha consumido", litros, "litros")
**ODS relacionados:**
- 💧 ODS 6: Agua limpia y saneamiento
- 🏘️ ODS 11: Ciudades y comunidades sostenibles
3. **Conjuntos (set)**
Practicamos la unión e intersección de conjuntos para comparar datos.
Por ejemplo, comparar las especies observadas en dos parques naturales:
parque1 = {"lince", "águila", "jabalí"}
parque2 = {"águila", "zorro", "jabalí"}
print("Especies en ambos parques:", parque1 & parque2)
print("Especies totales observadas:", parque1 | parque2)
**ODS relacionados:**
- 🐾 ODS 15: Vida de ecosistemas terrestres
- 🌱 ODS 12: Producción y consumo responsables
📹 **Vídeo de la sesión:**
👉
---
### 🗓️ Miércoles, 22 de octubre
#### Tema: Ejercicios avanzados con listas y diccionarios
En esta jornada, hemos reforzado el trabajo con estructuras de datos mediante ejercicios aplicados a problemas del mundo real.
1. **Listas con condiciones y cálculo de medias**
Analizamos datos de temperaturas para calcular la media de días calurosos (más de 25 °C):
temperaturas = [22, 28, 31, 19, 27, 25, 30]
calurosos = [t for t in temperaturas if t > 25]
media = sum(calurosos) / len(calurosos)
print("Media de días calurosos:", media)
**ODS relacionados:**
- 🌡️ ODS 13: Acción por el clima
- 📊 ODS 4: Educación de calidad
2. **Búsqueda de valores en diccionarios**
Trabajamos con un diccionario que contiene niveles de contaminación por ciudad, buscando las que superan un límite:
contaminacion = {"Madrid": 80, "Sevilla": 45, "Granada": 60, "Málaga": 50}
for ciudad, valor in contaminacion.items():
if valor > 55:
print(ciudad, "supera el nivel permitido")
**ODS relacionados:**
- 🌆 ODS 11: Ciudades y comunidades sostenibles
- 🌍 ODS 3: Salud y bienestar
📹 **Vídeo de la sesión:**
👉 [Enlace pendiente de insertar aquí]
---
### 💡 Conclusión
Estas actividades han demostrado cómo la programación en Python puede convertirse en una herramienta poderosa para analizar datos reales, fomentar el pensamiento lógico y reflexionar sobre los desafíos globales.
Al conectar cada ejercicio con los ODS, el alumnado comprende que la tecnología y la sostenibilidad pueden avanzar de la mano.
🚀 ¡Seguimos programando por un mundo mejor!
Etiqueta:conjuntos, diccionarios, eucodeweek, ies monterroso, listas, python
