import random

# ==============================
# Simulación de una cola de atención al cliente 24/7
# ==============================

# Tiempo total de simulación (8 horas = 480 minutos)
TIEMPO_SIMULACION = 480

# Variables del sistema
tiempo_actual = 0
cola = []
cliente_en_servicio = False
tiempo_fin_servicio = 0

# Estadísticas
clientes_llegados = 0
clientes_atendidos = 0
tiempo_total_espera = 0
cola_maxima = 0

# Primera llegada de cliente
proxima_llegada = random.randint(1, 8)

# Simulación minuto a minuto
while tiempo_actual < TIEMPO_SIMULACION:

    # Llegada de un nuevo cliente
    if tiempo_actual == proxima_llegada:
        clientes_llegados += 1
        cola.append(tiempo_actual)

        # Programar la siguiente llegada
        proxima_llegada += random.randint(1, 8)

    # Si el servidor está libre y hay clientes esperando
    if not cliente_en_servicio and len(cola) > 0:
        llegada = cola.pop(0)
        espera = tiempo_actual - llegada
        tiempo_total_espera += espera

        tiempo_servicio = random.randint(3, 10)
        tiempo_fin_servicio = tiempo_actual + tiempo_servicio
        cliente_en_servicio = True

    # Termina el servicio
    if cliente_en_servicio and tiempo_actual >= tiempo_fin_servicio:
        clientes_atendidos += 1
        cliente_en_servicio = False

    # Registrar la longitud máxima de la cola
    if len(cola) > cola_maxima:
        cola_maxima = len(cola)

    tiempo_actual += 1

# Resultados
print("=" * 45)
print("RESULTADOS DE LA SIMULACIÓN")
print("=" * 45)
print("Tiempo simulado:", TIEMPO_SIMULACION, "minutos")
print("Clientes que llegaron:", clientes_llegados)
print("Clientes atendidos:", clientes_atendidos)
print("Clientes en espera:", len(cola))
print("Longitud máxima de la cola:", cola_maxima)

if clientes_atendidos > 0:
    promedio = tiempo_total_espera / clientes_atendidos
    print("Tiempo promedio de espera: {:.2f} minutos".format(promedio))
else:
    print("No se atendieron clientes.")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: