Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -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
15 changes: 9 additions & 6 deletions main.py
Original file line number Diff line number Diff line change
@@ -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("""
Expand All @@ -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)
Expand All @@ -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 = []
Expand Down
52 changes: 50 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,51 @@
https://youtu.be/MNmPsGdR3LU
# Sistema de Gestión de Envíos de Paquetes

Link video de explicacion sobre la resolucion.
## 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)
Loading