Taller ReciClasificador
Taller 2: "ReciClasificador" en Google Colab
Objetivo: Crear una aplicación en Python que permita clasificar residuos en reciclables, orgánicos o no reciclables, y visualizar estadísticas con matplotlib.
Paso 1: Estructura base
residuos = {
"reciclables": [],
"organicos": [],
"no_reciclables": []
}
Paso 2: Clasificador de residuos
def clasificar_residuo(nombre, tipo):
tipo = tipo.lower()
if tipo in residuos:
residuos[tipo].append(nombre)
print(f"✔️ Residuo '{nombre}' clasificado como {tipo}.")
else:
print("❌ Tipo no válido. Usa: reciclables, organicos o no_reciclables.")
# Ejemplo:
clasificar_residuo("Botella de plástico", "reciclables")
clasificar_residuo("Cáscara de plátano", "organicos")
Paso 3: Estadísticas
def resumen_residuos(residuos):
total = sum(len(lista) for lista in residuos.values())
print("Resumen de residuos ingresados:")
for categoria, lista in residuos.items():
porcentaje = (len(lista) / total * 100) if total > 0 else 0
print(f"- {categoria.capitalize()}: {len(lista)} ({porcentaje:.1f}%)")
# Ver resumen
resumen_residuos(residuos)
Paso 4: Visualización con Matplotlib
import matplotlib.pyplot as plt
def graficar_residuos(residuos):
categorias = list(residuos.keys())
cantidades = [len(residuos[c]) for c in categorias]
plt.bar(categorias, cantidades)
plt.title("Cantidad de residuos por categoría")
plt.xlabel("Tipo de residuo")
plt.ylabel("Cantidad")
plt.show()
# Mostrar gráfica
graficar_residuos(residuos)
Paso 5: Guardar y cargar residuos
import json
def guardar_residuos(nombre_archivo, datos):
with open(nombre_archivo, 'w') as archivo:
json.dump(datos, archivo)
def cargar_residuos(nombre_archivo):
global residuos
with open(nombre_archivo, 'r') as archivo:
residuos = json.load(archivo)
# Guardar
guardar_residuos("residuos.json", residuos)
# Cargar
# cargar_residuos("residuos.json")
Actividad final del estudiante
- Ingresar al menos 10 residuos clasificados en diferentes tipos.
- Generar el resumen y el gráfico de barras.
- Guardar los datos en un archivo y luego simular su carga.
- Reflexionar: ¿Cómo podría evolucionar esta idea a una app con interfaz gráfica o en la nube?
Comentarios
Publicar un comentario