Flujos de trabajo · Espirales de cuadrícula horarias ×
def spiral(rows, columns):
if any(type(v) is not int or not 0 <= v <= 100
for v in (rows, columns)):
raise ValueError("dimension.range")
top, bottom, left, right = 0, rows - 1, 0, columns - 1
result = []
while top <= bottom and left <= right:
result.extend((top, c) for c in range(left, right + 1))
top += 1
result.extend((r, right) for r in range(top, bottom + 1))
right -= 1
if top <= bottom:
result.extend((bottom, c) for c in range(right, left - 1, -1))
bottom -= 1
if left <= right:
result.extend((r, left) for r in range(bottom, top - 1, -1))
left += 1
return result
✳Visita las coordenadas de una cuadrícula rectangular en espiral horaria desde arriba a la izquierda.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
Proyecto
Comprueba dimensiones cero y filas o columnas únicas, rechazando dimensiones fuera de cero a 100 y verificando que cada coordenada aparece una vez.
Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Modelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
def spiral(rows, columns):
if any(type(v) is not int or not 0 <= v <= 100
for v in (rows, columns)):
raise ValueError("dimension.range")
top, bottom, left, right = 0, rows - 1, 0, columns - 1
result = []
while top <= bottom and left <= right:
result.extend((top, c) for c in range(left, right + 1))
top += 1
result.extend((r, right) for r in range(top, bottom + 1))
right -= 1
if top <= bottom:
result.extend((bottom, c) for c in range(right, left - 1, -1))
bottom -= 1
if left <= right:
result.extend((r, left) for r in range(bottom, top - 1, -1))
left += 1
return result
Espacio de programación con IA
Revisa el contrato de salida antes de reescribir el recorrido
Cuando un recorrido alimenta otro componente, el orden de salida importa tanto como las celdas que visita. SpiralJuniper es un entorno de programación con IA para Windows donde revisar esa relación con un modelo conectado. Incluye en el análisis la función de recorrido y el código que consume su salida, y describe el comportamiento que debe conservar el cambio propuesto.
Una solicitud de ejemplo podría referirse a un recorrido de cuadrícula en sentido horario usado para ordenar celdas en una vista previa. Pide al asistente que inspeccione cómo gestiona la implementación actual los rectángulos estrechos y si alguna coordenada aparece dos veces. Proporciona una pequeña secuencia esperada, no solo una imagen. Así el posible parche tiene un contrato concreto sin suponer que el entorno incluye una aplicación de vista previa de cuadrículas.
Lee los cambios propuestos junto con el consumidor. Comprueba si han cambiado el orden, la convención de coordenadas o el comportamiento de cuadrículas vacías y ejecuta pruebas del proyecto que cubran una fila, una columna y un rectángulo. Si la implementación se simplifica pero cambia la secuencia de la que depende la interfaz, resuelve esa decisión de producto antes de aceptarla.
SpiralJuniper admite servicios de modelos compatibles con OpenAI o Anthropic. Elige un modelo de IA sin censura si está disponible en tu servicio, con sus propias restricciones y capacidades. El contexto y las herramientas admitidas dependen del servidor y condicionan la conversación de programación; tus casos de prueba y tu revisión determinan si el parche encaja en la aplicación.
Antes de sustituir la implementación de un recorrido
¿Qué debe mostrar un caso de prueba de recorrido esperado?
Enumera las coordenadas en el orden exacto requerido por el consumidor, incluida la esquina inicial y la dirección. Un conjunto de celdas visitadas no revela errores de orden. Conserva un caso rectangular pequeño que un revisor pueda inspeccionar directamente.
¿Por qué comprobar por separado cuadrículas de una fila y de una columna?
Pueden revelar actualizaciones de límites que vuelvan a visitar las mismas celdas u omitan el último segmento. Incluye ambos casos en las comprobaciones del proyecto, junto con el comportamiento de cuadrículas vacías que espera tu interfaz, antes de aceptar un parche de recorrido generalizado.
¿Puede cambiar el orden de coordenadas estropear un resultado por lo demás correcto?
Sí. Un consumidor puede interpretar los pares como fila y después columna, mientras que una alternativa devuelve el orden inverso. Pide al modelo que siga cómo se consumen los pares y conserve la convención documentada, salvo que la tarea incluya expresamente cambiarla.
¿Debe bastar una vista previa visual para aprobar el código?
Úsala para inspeccionar el resultado que ve el usuario, pero conserva también pruebas de secuencias exactas. Una vista previa puede ocultar duplicados o coordenadas omitidas. Ejecuta las comprobaciones existentes del proyecto y compara la propuesta con el contrato escrito del recorrido.