From 8acd54b5a0d09d0d417f01358d24420b3f8dc4b9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 21:20:27 +0000 Subject: [PATCH 1/3] Initial plan From 0c0b0b62eaee199f15fa92d20278668a907e9c25 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 21:24:12 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Profesionalizar=20proyecto:=20README=20mejo?= =?UTF-8?q?rado,=20constantes=20implementadas=20y=20limpieza=20de=20c?= =?UTF-8?q?=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fabiantullo <150408075+Fabiantullo@users.noreply.github.com> --- .gitignore | 22 ++++++++++++++++++++++ main.py | 12 +++++++----- readme.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e35e63 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Python cache files +__pycache__/ +*.pyc +*.pyo +*.pyd +.Python + +# Virtual environments +venv/ +env/ +ENV/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS files +.DS_Store +Thumbs.db diff --git a/main.py b/main.py index 20cdda8..03ecfe4 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,14 @@ from Package_funciones.funciones_generales import * from Package_funciones.funciones_especificas import * + +# Constantes del sistema +CANTIDAD_CLIENTES = 15 +TIPOS_PAQUETE = 3 + def main(): - matriz_precios = crear_matriz(3,2,0) + matriz_precios = crear_matriz(TIPOS_PAQUETE, 2, 0) cargar_matriz_precios(matriz_precios) - matriz_clientes = crear_matriz(15, 3, 0) + matriz_clientes = crear_matriz(CANTIDAD_CLIENTES, TIPOS_PAQUETE, 0) cargar_matriz(matriz_clientes, 0, 5) while True: print(""" @@ -25,9 +30,6 @@ def main(): opcion_ingresada = get_int("Ingrese un numero: ", "Error numero no valido", 0) match opcion_ingresada: case 1: - # lista_suma_paquetes = sumar_por_fila(matriz_clientes) - # mostrar_lista(lista_suma_paquetes) - #! No lo utilice porque interprete mal la consigna. mostrar_matriz(matriz_clientes) case 2: cantidad_clientes_sin_pequeños_grandes = recorrer_fila_especifico(matriz_clientes) diff --git a/readme.md b/readme.md index 01033c9..b7e85bc 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,51 @@ -https://youtu.be/MNmPsGdR3LU +# Sistema de Gestión de Envíos de Paquetes -Link video de explicacion sobre la resolucion. \ No newline at end of file +## Descripción del Proyecto + +Este proyecto es un sistema de gestión de envíos de paquetes que permite administrar y analizar información sobre los envíos de múltiples clientes. El programa trabaja con matrices para registrar la cantidad de paquetes por cliente y tipo, calculando recaudaciones y generando informes detallados. + +## Tecnologías Utilizadas + +- **Python 3.x**: Lenguaje de programación principal +- **Módulos personalizados**: + - `funciones_generales.py`: Funciones para manejo de matrices, validaciones y operaciones generales + - `funciones_especificas.py`: Funciones específicas del dominio de negocio (precios, recaudación, búsquedas) + +## Propósito + +El sistema permite: +- Gestionar información de 15 clientes y 3 tipos de paquetes (pequeño, mediano, grande) +- Visualizar la cantidad de paquetes que envía cada cliente +- Identificar clientes con patrones específicos de envío +- Generar informes de recaudación ordenados por monto +- Calcular totales de recaudación por tipo de paquete +- Identificar clientes con mayor cantidad de envíos de un tipo específico + +## Cómo Ejecutar el Programa + +### Requisitos Previos +- Python 3.x instalado en el sistema + +### Pasos de Ejecución + +1. Clonar o descargar el repositorio +2. Navegar al directorio del proyecto +3. Ejecutar el programa principal: + ```bash + python main.py + ``` + +### Uso del Programa + +Una vez iniciado, el programa presenta un menú interactivo con las siguientes opciones: + +1. **Cantidad de paquetes que envía cada cliente**: Muestra una matriz con la cantidad de paquetes por cliente +2. **Clientes sin paquetes pequeños ni grandes**: Cuenta clientes que solo enviaron paquetes medianos +3. **Informe de clientes ordenados por recaudación**: Genera un informe descendente por total a pagar +4. **Total de recaudación por tipo de paquete**: Muestra recaudación por tipo e identifica el más rentable +5. **Clientes con más paquetes medianos**: Identifica los clientes que más paquetes medianos enviaron +6. **Salir**: Finaliza el programa + +## Video Explicativo + +Para una demostración completa del funcionamiento del programa, puedes ver el video explicativo: [https://youtu.be/MNmPsGdR3LU](https://youtu.be/MNmPsGdR3LU) \ No newline at end of file From 1d7f8979b74bc22af05928bf0a14b1b8bf44b66e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 21:25:47 +0000 Subject: [PATCH 3/3] =?UTF-8?q?Agregar=20guard=20if=20=5F=5Fname=5F=5F=20?= =?UTF-8?q?=3D=3D=20'=5F=5Fmain=5F=5F'=20para=20seguir=20mejores=20pr?= =?UTF-8?q?=C3=A1cticas=20de=20Python?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fabiantullo <150408075+Fabiantullo@users.noreply.github.com> --- main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 03ecfe4..f99cc15 100644 --- a/main.py +++ b/main.py @@ -46,7 +46,8 @@ def main(): case _: print("Opcion invalida.") -main() +if __name__ == '__main__': + main() def calcular_minimo_porcentaje(inversiones, nombre_inversiones): lista_acciones_por_empresa = []