Vollständige Sudoku-Prüfung
Prüfe ein vollständig ausgefülltes Sudoku mit neun mal neun Feldern, ohne fehlende Zellen zu lösen.
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)| Vor dem Anwenden prüfen | Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen. |
|---|---|
| Modelle | Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen. |
| Projekt | Prüfe Zeilen, Spalten und Dreierblöcke, lehne ungültige Formate oder nichtganzzahlige Eingaben ab und liefere bei doppelten Ziffern falsch. |
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)Vollständige Eingabe und gültiges Ergebnis unterscheiden
GridCoven ist ein KI-Programmierarbeitsbereich für Windows für präzise Fragen zu Validierungscode. Beginnen Sie mit der Unterscheidung, die die Anwendung treffen muss, und bringen Sie dann den relevanten Quelltext und Beispiele in das Gespräch ein. Das verbundene Modell hilft bei der Besprechung eines Vorschlags, während Sie entscheiden, welche akzeptierten und zurückgewiesenen Zustände zum Produktvertrag gehören.
Ein ausgefülltes Sudoku bietet eine konkrete Prüfaufgabe: Jede Zelle kann einen Wert enthalten, obwohl das Brett eine Zeilen-, Spalten- oder Blockregel verletzt. Fordern Sie die Validierung eines vollständigen Bretts an, ohne fehlende Zellen zu lösen. Erläutern Sie den Unterschied zwischen fehlerhaft aufgebauten Eingaben und einem korrekt aufgebauten, aber ungültigen Brett, da aufrufender Code diese Ergebnisse unterschiedlich behandeln kann.
Verwenden Sie unabhängige Testfälle zur Patch-Prüfung. Einer kann eine Spaltenregel verletzen, während Zeilenprüfungen bestehen bleiben; ein anderer kann eine fehlende Blockprüfung aufdecken. Führen Sie diese Fälle mit Ihren vorhandenen Projektwerkzeugen aus und prüfen Sie, ob die Eingabe unverändert bleibt. Ziel ist, jede erforderliche Bedingung beobachtbar zu machen, statt einen Validator allein deshalb zu akzeptieren, weil er eine bekannte Lösung erkennt.
GridCoven unterstützt Verbindungen zu OpenAI-kompatiblen oder Anthropic-Endpunkten, bei Bedarf mit Zugangsdaten. Wird über Ihren Endpunkt ein ungefiltertes KI-Modell angeboten, gelten weiterhin seine tatsächlichen Fähigkeiten und Dienstbedingungen. Modell und Server bestimmen Kontext und Werkzeuge; weder eine Bezeichnung noch eine selbstsichere Erklärung beweisen die Vollständigkeit der Validierung.
Eine Validierungsaufgabe für vollständige Sudoku-Bretter definieren
Wie unterscheide ich fehlerhaft aufgebaute Eingaben von ungültigen Brettern?
Legen Sie zuerst die erforderliche Form und Werttypen fest und beschreiben Sie anschließend mögliche Regelverletzungen korrekt aufgebauter Bretter. Geben Sie an, wie der Aufrufer jedes Ergebnis erkennen soll. So können Sie Fehlerbehandlung und boolesche Gültigkeitsentscheidung separat prüfen.
Warum reicht ein Testfall mit einer korrekten Lösung nicht aus?
Er zeigt nur, dass ein gültiges Beispiel angenommen wird. Ergänzen Sie Fälle, die jeweils eine Zeilen-, Spalten- oder Blockverletzung isolieren, damit fehlende Bedingungen sichtbar werden. Prüfen Sie erwartete Ergebnisse unabhängig, bevor Sie testen, ob die vorgeschlagene Implementierung ihnen entspricht.
Kann ich den Arbeitsbereich bitten, fehlende Zellen zu lösen?
Das wäre eine andere Programmieraufgabe mit anderem Vertrag. Das Beispiel hier validiert vollständige Eingaben. Legen Sie den Umgang mit fehlenden Zellen ausdrücklich fest, damit der vorgeschlagene Validator nicht unbemerkt zum Löser wird oder ein unvollständiges Brett als fertige Lösung behandelt.
Soll die Validierung das übergebene Brett verändern?
Legen Sie das in Ihrer Anforderung fest. Bewahren Sie für dieses Prüfbeispiel die ursprüngliche Eingabe und kontrollieren Sie sie nach der Validierung. Änderungen können spätere Oberflächenabläufe beeinflussen, selbst wenn das Gültigkeitsergebnis stimmt; beziehen Sie bei relevantem Risiko den verarbeitenden Code ein.
GridCoven · Aktualisiert 2026-10-25