DDayThistle
Flujos de trabajo

Flujos de programación · Desplazamiento de días laborables con festivos

03
Producto

Flujos de trabajo

Desplaza una fecha entre menos 366 y 366 días laborables, omitiendo fines de semana y hasta 1000 festivos. Comprueba cero, retroceso y límites del calendario, rechazando fechas inválidas sin cambiar los festivos.

01

Descarga la aplicación

Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.

02

Abre la carpeta del proyecto

Elige un endpoint compatible. Las herramientas disponibles y la calidad de las respuestas dependen del modelo y del servidor configurados.

03

Conecta y prueba el modelo

Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.

04

Revisa los cambios y ejecuta las pruebas

Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

Desplazamiento de días laborables con festivos

Flujos de trabajo
from datetime import date, timedelta

def working_day_shift(start, days, holidays):
    if type(start) is not date or type(days) is not int or not -366 <= days <= 366:
        raise ValueError("days.input")
    if type(holidays) is not set or len(holidays) > 1000 or any(type(d) is not date for d in holidays):
        raise ValueError("days.holidays")
    remaining, step = abs(days), 1 if days >= 0 else -1
    for _ in range(7*(remaining+len(holidays))+7):
        if remaining == 0:
            return start
        try:
            start += timedelta(days=step)
        except OverflowError as error:
            raise ValueError("days.range") from error
        if start.weekday() < 5 and start not in holidays:
            remaining -= 1
    raise RuntimeError("days.steps")

Revisa antes de aplicar. Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.

Espacio de programación con IA

Tu próxima idea empieza aquí.

Descargar para Windows ↗