Scarica l’applicazione
Seleziona una cartella e chiedi all’assistente di leggere i file interessati prima di modificarli. Definisci obiettivo e limiti dell’attività.
Valida aree rettangolari con identificatori ASCII e celle vuote rappresentate da un solo punto. Prova ingresso vuoto, righe irregolari e nomi disconnessi, restituendo limiti esclusivi solo se ogni area riempie il proprio rettangolo.
Seleziona una cartella e chiedi all’assistente di leggere i file interessati prima di modificarli. Definisci obiettivo e limiti dell’attività.
Scegli un endpoint compatibile. Gli strumenti disponibili e la qualità delle risposte dipendono dal modello e dal server configurati.
Controlla le modifiche e l’output dei comandi. Esegui le verifiche del progetto prima di accettare il risultato: il codice generato non è automaticamente collaudato.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultControlla prima di applicare. Controlla le modifiche e l’output dei comandi. Esegui le verifiche del progetto prima di accettare il risultato: il codice generato non è automaticamente collaudato.