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..f99cc15 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) @@ -44,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 = [] 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