Kontrola vyplněného Sudoku
Zkontrolujte vyplněné Sudoku devět krát devět bez řešení prázdných polí.
def sudoku_complete(board):
if type(board) is not list or len(board) != 9:
raise ValueError("nine rows")
if any(type(row) is not list or len(row) != 9 or
any(type(v) is not int or not 1 <= v <= 9 for v in row) for row in board):
raise ValueError("nine integer digits per row")
target = set(range(1,10))
units = board + [list(col) for col in zip(*board)]
units += [[board[y+dy][x+dx] for dy in range(3) for dx in range(3)]
for y in (0,3,6) for x in (0,3,6)]
return all(set(unit) == target for unit in units)| Před použitím zkontrolujte | 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. |
|---|---|
| Modely | Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně. |
| Projekt | Ověřte řádky, sloupce a bloky tři krát tři, odmítněte chybný tvar či neceločíselný vstup a vraťte nepravdu při opakování číslic. |
def sudoku_complete(board):
if type(board) is not list or len(board) != 9:
raise ValueError("nine rows")
if any(type(row) is not list or len(row) != 9 or
any(type(v) is not int or not 1 <= v <= 9 for v in row) for row in board):
raise ValueError("nine integer digits per row")
target = set(range(1,10))
units = board + [list(col) for col in zip(*board)]
units += [[board[y+dy][x+dx] for dy in range(3) for dx in range(3)]
for y in (0,3,6) for x in (0,3,6)]
return all(set(unit) == target for unit in units)Odlište úplný vstup od platného výsledku
GridCoven je prostředí pro programování s AI ve Windows, ve kterém lze klást přesné otázky o validačním kódu. Začněte rozlišením, které aplikace potřebuje, a zahrňte do rozhovoru příslušný zdrojový kód a příklady. Připojený model pomáhá probrat návrh, zatímco vy rozhodujete, které přijímané a odmítané stavy patří do kontraktu produktu.
Vyplněná tabulka sudoku nabízí konkrétní úlohu ke kontrole: každé pole může obsahovat hodnotu, a tabulka přesto porušovat pravidlo řádku, sloupce nebo bloku. Požádejte o validaci dokončené tabulky bez řešení chybějících polí. Uveďte, jak se chybně utvořený vstup liší od správně utvořené, ale neplatné tabulky, protože volající mohou tyto výsledky zpracovávat odlišně.
Při kontrole změny použijte nezávislá testovací data. Jedna mohou porušovat sloupec při zachování pravidel řádků, jiná odhalit vynechané pravidlo bloku. Spusťte tyto případy stávajícími nástroji projektu a ověřte, zda vstup zůstává nezměněný. Cílem je učinit každou požadovanou podmínku pozorovatelnou, nikoli přijmout validátor jen proto, že rozpozná jedno známé řešení.
GridCoven podporuje připojení ke koncovým bodům kompatibilním s OpenAI nebo koncovým bodům Anthropic, podle potřeby s přihlašovacími údaji. Pokud váš koncový bod nabízí model AI bez filtrů, stále platí jeho skutečné schopnosti a podmínky služby. Kontext a nástroje určuje model a server; označení ani sebejisté vysvětlení nedokazují úplnost validace.
Vymezení validace dokončené tabulky
Jak odlišit chybně utvořený vstup od neplatné tabulky?
Nejprve určete požadovaný tvar a typy hodnot a potom popište porušení pravidel, která může obsahovat správně utvořená tabulka. Stanovte, jak má volající jednotlivé výsledky rozpoznat. Zpracování chyb tak můžete kontrolovat odděleně od booleovského rozhodnutí o platnosti.
Proč nestačí testovací případ správného řešení?
Ukazuje pouze přijetí jednoho platného příkladu. Přidejte případy izolující porušení řádku, sloupce a bloku, aby byly vynechané podmínky viditelné. Než v testech ověříte shodu návrhu implementace, nezávisle prověřte očekávané výsledky.
Mohu prostředí požádat o vyřešení chybějících polí?
To by byla jiná programátorská úloha s jiným kontraktem. Zdejší příklad validuje dokončený vstup. Zacházení s chybějícími poli určete výslovně, aby se navržený validátor potichu nestal řešičem ani nepovažoval neúplnou tabulku za dokončené řešení.
Má validace měnit předanou tabulku?
Uveďte to v požadavku. V tomto příkladu kontroly zachovejte původní vstup a po validaci jej zkontrolujte. Změny vstupu mohou ovlivnit pozdější chování rozhraní, i když je výsledek platnosti správný; pokud je toto riziko relevantní, přiložte i kód, který vstup používá.
GridCoven · Aktualizováno 2026-10-25