EcoDinero
Taller: "EcoDinero" en Google Colab
Objetivo: Crear una aplicación básica en Python que registre ingresos/gastos y visualice el balance financiero usando listas, diccionarios, funciones y visualización de datos.
Paso 1: Crear el entorno base
finanzas = {
"ingresos": [],
"gastos": []
}
Paso 2: Registrar transacciones
from datetime import datetime
def registrar_transaccion(tipo, monto, descripcion):
if tipo not in ["ingresos", "gastos"]:
print("Tipo inválido. Usa 'ingresos' o 'gastos'.")
return
transaccion = {
"monto": monto,
"descripcion": descripcion,
"fecha": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
finanzas[tipo].append(transaccion)
# Ejemplo:
registrar_transaccion("ingresos", 1200, "Salario")
registrar_transaccion("gastos", 300, "Mercado")
Paso 3: Calcular balance
def calcular_balance(finanzas):
total_ingresos = sum(item["monto"] for item in finanzas["ingresos"])
total_gastos = sum(item["monto"] for item in finanzas["gastos"])
balance = total_ingresos - total_gastos
print(f"Total ingresos: ${total_ingresos}")
print(f"Total gastos: ${total_gastos}")
print(f"Balance: ${balance}")
if balance < 0:
print("\u26a0\ufe0f ¡Alerta! Estás en déficit.")
else:
print("\u2705 ¡Bien hecho! Estás en positivo.")
# Probar balance
calcular_balance(finanzas)
Paso 4: Visualización con Matplotlib
import matplotlib.pyplot as plt
def graficar_balance(finanzas):
etiquetas = ['Ingresos', 'Gastos']
valores = [
sum(item["monto"] for item in finanzas["ingresos"]),
sum(item["monto"] for item in finanzas["gastos"])
]
plt.figure(figsize=(6,6))
plt.pie(valores, labels=etiquetas, autopct='%1.1f%%', startangle=90)
plt.title("Distribución financiera")
plt.show()
# Mostrar gráfica
graficar_balance(finanzas)
Paso 5: Guardar y cargar datos
import json
def guardar_datos(nombre_archivo, datos):
with open(nombre_archivo, 'w') as archivo:
json.dump(datos, archivo)
def cargar_datos(nombre_archivo):
global finanzas
with open(nombre_archivo, 'r') as archivo:
finanzas = json.load(archivo)
# Guardar
guardar_datos("finanzas.json", finanzas)
# Cargar
# cargar_datos("finanzas.json")
Actividad final del estudiante
- Registrar al menos 5 ingresos y 5 gastos.
- Calcular el balance financiero.
- Generar el gráfico de pastel.
- Guardar y recuperar el archivo JSON.
- Reflexionar sobre el uso de este sistema en la vida diaria o profesional.
Comentarios
Publicar un comentario