Volledig ingevulde Sudoku controleren
Controleer een ingevulde Sudoku van negen bij negen zonder ontbrekende vakjes op te lossen.
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)| Controleer vóór het toepassen | Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen. |
|---|---|
| Modellen | Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen. |
| Project | Controleer rijen, kolommen en blokken van drie bij drie, weiger onjuiste vormen of niet-gehele waarden en geef onwaar bij herhaalde cijfers. |
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)Onderscheid volledige invoer van een geldig resultaat
GridCoven is een Windows-programmeerwerkruimte met AI om precieze vragen over validatiecode te stellen. Begin met het onderscheid dat de toepassing moet maken en betrek daarna de relevante broncode en voorbeelden bij het gesprek. Het verbonden model kan helpen een voorstel te bespreken, terwijl u beslist welke geaccepteerde en afgewezen toestanden binnen het productcontract horen.
Een ingevuld Sudoku-rooster biedt een concrete beoordelingstaak: elke cel kan een waarde bevatten terwijl het rooster toch een regel voor rijen, kolommen of blokken schendt. Vraag om validatie van een volledig rooster, zonder ontbrekende cellen op te lossen. Geef aan hoe onjuist gevormde invoer verschilt van een correct gevormd maar ongeldig rooster, omdat aanroepende code die uitkomsten verschillend kan afhandelen.
Gebruik onafhankelijke testgevallen om de wijziging te beoordelen. Eén kan een kolomregel schenden terwijl de rijcontroles slagen; een ander kan een ontbrekende blokcontrole blootleggen. Voer die gevallen uit met uw bestaande projecthulpmiddelen en inspecteer of de invoer ongewijzigd blijft. Het doel is elke vereiste voorwaarde waarneembaar te maken, in plaats van een validator te aanvaarden omdat die één bekende oplossing herkent.
GridCoven ondersteunt verbindingen met OpenAI-compatibele of Anthropic-eindpunten, met inloggegevens waar nodig. Als uw eindpunt een ongefilterd AI-model aanbiedt, blijft dat onderworpen aan zijn daadwerkelijke mogelijkheden en dienstvoorwaarden. Het model en de server bepalen context en hulpmiddelen; noch een label, noch een zelfverzekerde uitleg bewijst dat de validatie volledig is.
Een validatietaak voor een volledig rooster definiëren
Hoe onderscheid ik onjuist gevormde invoer van een ongeldig rooster?
Vermeld eerst de vereiste structuur en waardetypen en beschrijf daarna de regelovertredingen die een correct gevormd rooster kan bevatten. Specificeer hoe elke uitkomst voor de aanroepende code zichtbaar moet zijn. Zo kunt u foutafhandeling los van de booleaanse geldigheidsbeslissing beoordelen.
Waarom is een testgeval met een correcte oplossing onvoldoende?
Het laat alleen zien dat één geldig voorbeeld wordt geaccepteerd. Voeg gevallen toe die afzonderlijk een rij-, kolom- en blokregel schenden, zodat ontbrekende voorwaarden zichtbaar worden. Beoordeel de verwachte uitkomsten onafhankelijk voordat u test of de voorgestelde implementatie eraan voldoet.
Kan ik de werkruimte vragen ontbrekende cellen op te lossen?
Dat is een andere programmeertaak met een ander contract. Het voorbeeld hier valideert volledige invoer. Maak de afhandeling van ontbrekende cellen expliciet, zodat de voorgestelde validator niet ongemerkt een oplosser wordt of een onvolledig rooster als voltooide oplossing behandelt.
Mag validatie het aangeleverde rooster wijzigen?
Leg dat vast in uw vereiste. Bewaar voor dit beoordelingsvoorbeeld de oorspronkelijke invoer en controleer die na validatie. Mutatie kan later interfacegedrag beïnvloeden, zelfs als het geldigheidsresultaat klopt. Betrek daarom de gebruikende code erbij als dat risico relevant is.
GridCoven · Bijgewerkt 2026-10-25