EcoDinero

Taller 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

Entradas más populares de este blog

Librerías para Contabilidad

Variables Prohibidas

Dataframes