Méthodes de travail · Spirales horaires sur une grille ×
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
✳Parcourez une grille rectangulaire en spirale horaire depuis le coin supérieur gauche.
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
Projet
Testez dimensions nulles et lignes ou colonnes uniques, en rejetant les dimensions hors de zéro à 100 et en vérifiant une visite par coordonnée.
Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Modèles
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
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
Espace de développement avec IA
Examiner le contrat de sortie avant de réécrire le parcours
Lorsqu’un parcours alimente un autre composant, l’ordre de sortie compte autant que les cellules visitées. SpiralJuniper est un espace de programmation avec IA pour Windows où examiner cette relation avec un modèle connecté. Ajoutez à la discussion la fonction de parcours et le code consommant sa sortie, puis décrivez le comportement que le changement proposé doit préserver.
Un exemple de demande peut concerner un parcours de grille horaire servant à ordonner des cellules dans un aperçu. Demandez à l’assistant d’inspecter le traitement des rectangles étroits et les éventuelles coordonnées répétées. Fournissez une petite séquence attendue plutôt qu’une simple image. Cela donne au correctif envisagé un contrat concret sans supposer que l’espace inclut une application d’aperçu de grille.
Lisez les modifications proposées avec le consommateur. Vérifiez si l’ordre, la convention de coordonnées ou le comportement sur une grille vide ont changé, et exécutez des tests couvrant une seule ligne, une seule colonne et un rectangle. Si le code devient plus simple mais change la séquence dont dépend l’interface, tranchez cette décision produit avant de l’accepter.
SpiralJuniper prend en charge les points de terminaison de modèles compatibles OpenAI ou Anthropic. Choisissez un modèle d’IA ablaté si votre service en propose un, avec ses propres restrictions et capacités. Le contexte et les outils, qui dépendent du serveur, encadrent la conversation de programmation ; vos tests et votre examen déterminent si le correctif convient à l’application.
Avant de remplacer une implémentation de parcours
Que doit montrer un cas de test de parcours attendu ?
Listez les coordonnées dans l’ordre exact requis par le consommateur, en précisant le coin de départ et le sens. Un ensemble de cellules visitées ne révèle pas les erreurs d’ordre. Conservez un petit cas rectangulaire directement inspectable.
Pourquoi vérifier séparément les grilles à une ligne et à une colonne ?
Elles peuvent révéler des mises à jour des bornes qui revisitent les mêmes cellules ou sautent le dernier segment. Incluez les deux cas dans les contrôles du projet, avec le comportement sur grille vide attendu par l’interface, avant d’accepter un correctif de parcours généralisé.
Changer l’ordre des coordonnées peut-il casser un résultat par ailleurs correct ?
Oui. Un consommateur peut lire les paires comme ligne puis colonne, alors qu’un remplacement renvoie l’inverse. Demandez au modèle de retracer leur consommation et de préserver la convention documentée, sauf si la tâche inclut explicitement son changement.
Un aperçu visuel suffit-il pour approuver le code ?
Utilisez-le pour examiner le résultat côté utilisateur, mais conservez aussi des tests de séquences exactes. Un aperçu peut masquer des doublons ou des coordonnées sautées. Exécutez les contrôles existants du projet et comparez la proposition au contrat de parcours écrit.