AArevia
Méthodes de travail

Méthodes de développement · Zones rectangulaires de grille CSS

03
Produit

Méthodes de travail

Valide des zones rectangulaires nommées par des identifiants ASCII et des cellules vides réduites à un point. Teste une entrée vide, des lignes inégales et des noms disjoints, en donnant des bornes exclusives seulement si chaque zone remplit son rectangle.

01

Téléchargez l’application

Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.

02

Ouvrez le dossier du projet

Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.

03

Connectez et testez le modèle

Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

04

Examinez les modifications et lancez les tests

Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Zones rectangulaires de grille CSS

Méthodes de travail
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 result

Vérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

Espace de développement avec IA

Votre prochaine idée commence ici.

Télécharger pour Windows ↗