AArevia
Pracovní postupy

Pracovní postupy s kódem · Obdélníkové oblasti mřížky CSS

03
Produkt

Pracovní postupy

Ověř obdélníkové oblasti mřížky s názvy ASCII a jednotlivými tečkami jako prázdnými buňkami. Vyzkoušej prázdný vstup, nestejné řádky a oddělené názvy a vrať výlučné meze jen pro vyplněné obdélníky.

01

Stáhněte aplikaci

Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.

02

Otevřete složku projektu

Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.

03

Připojte a otestujte model

Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

04

Zkontrolujte změny a spusťte testy

Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.

Obdélníkové oblasti mřížky CSS

Pracovní postupy
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

Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

Pracovní prostředí s AI pro kód

Váš další nápad začíná zde.

Stáhnout pro Windows ↗