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.")
To embed this project on your website, copy the following code and paste it into your website's HTML: