BBracketMast
KI-Arbeitsumgebung für Code

Verschachtelungstiefe von Klammern

Bestimme die maximale Tiefe eines Textes aus ausschließlich runden, eckigen und geschweiften Klammern.

● ● ●BracketMast●
Arbeitsabläufe · Verschachtelungstiefe von Klammern ×
def bracket_depth(text):
    if type(text) is not str:
        raise ValueError("bracket.type")
    stack, peak = [], 0
    pairs = {')': '(', ']': '[', '}': '{'}
    for char in text:
        if char in "([{":
            stack.append(char)
            peak = max(peak, len(stack))
        elif char in pairs:
            if not stack or stack.pop() != pairs[char]:
                raise ValueError("bracket.order")
        else:
            raise ValueError("bracket.alphabet")
    if stack:
        raise ValueError("bracket.unclosed")
    return peak
✳Verschachtelungstiefe von Klammern
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
  1. Vor dem Anwenden prüfen

    Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

  2. 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.

  3. Projekt

    Erlaube den leeren Text mit Tiefe null, lehne aber überkreuzte Paare, ungepaarte Klammern und alle anderen Zeichen einschließlich Leerzeichen ab.

Arbeitsabläufe

Verschachtelungstiefe von Klammern

Arbeitsabläufe ↗
Arbeitsabläufe
def bracket_depth(text):
    if type(text) is not str:
        raise ValueError("bracket.type")
    stack, peak = [], 0
    pairs = {')': '(', ']': '[', '}': '{'}
    for char in text:
        if char in "([{":
            stack.append(char)
            peak = max(peak, len(stack))
        elif char in pairs:
            if not stack or stack.pop() != pairs[char]:
                raise ValueError("bracket.order")
        else:
            raise ValueError("bracket.alphabet")
    if stack:
        raise ValueError("bracket.unclosed")
    return peak
KI-Arbeitsumgebung für Code

Validierungsregeln für den nächsten Aufrufer verständlich machen

BracketMast bringt KI-gestützte Entwicklung in eine Windows-Umgebung, in der Projektordner und Programmiergespräch verbunden bleiben. Nutzen Sie sie, wenn eine Validierungsänderung genauer beschrieben werden muss als mit der Bitte, fehlerhafte Eingaben abzufangen. Beschreiben Sie die akzeptierte Sprache, Fehlerbedingungen und erwarteten Rückgaben für Aufrufer. Lassen Sie den Assistenten dann die bestehende Implementierung prüfen, bevor er eine Korrektur vorschlägt.

Bei einer Aufgabe zu bracket_depth.py könnte es darum gehen, ob eine Eingabe nur unterstützte Klammern enthält, deren Reihenfolge gültig ist und was ein leerer Wert bedeutet. Fordern Sie einen Patch und Beispiele an, die diese Entscheidungen sichtbar machen. Behalten Sie Funktion und Aufrufer im Blick: Änderungen am akzeptierten Alphabet können das Verhalten verändern, selbst wenn korrekt geschachtelte Eingaben weiterhin funktionieren. So behandelt die Validierungsprüfung den Anwendungsvertrag statt einer einzelnen erfolgreichen Vorführung.

Führen Sie nach der Prüfung des Vorschlags Ihre Projektprüfungen für akzeptierte Zeichenfolgen, vorzeitige schließende Klammern und unvollständige Eingaben aus. Präzisieren Sie die Anfrage anhand von Fehlern und bewahren Sie das vereinbarte Fehlerverhalten. BracketMast verbindet sich mit unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkten, bei Bedarf mit Zugangsdaten. Sie können ein als uneingeschränkt beschriebenes Modell wählen, wenn Ihr Endpunkt es anbietet; die Anbieterbedingungen gelten weiterhin, und Kontextgrenzen sowie Werkzeuge hängen von Modell und Server ab. Ihre Tests zeigen, ob der erzeugte Code den Vertrag erfüllt.

Festlegen, welche Eingaben ein Validator akzeptieren soll

Sollen nicht unterstützte Zeichen ignoriert oder abgewiesen werden?

Entscheiden Sie bewusst anhand des Vertrags mit dem Aufrufer. Ein Validator für reine Klammerfolgen kann sie ablehnen, während ein Quelltextparser andere Regeln benötigt. Erläutern Sie dem Assistenten diesen Unterschied, bevor Sie eine Änderung übernehmen, die unerwartete Zeichen stillschweigend überspringt.

Wie soll sich ein leerer Wert verhalten?

Legen Sie fest, ob er in Ihrer Anwendung gültig ist, fehlt oder einen Fehler darstellt. Prüfen Sie anschließend sowohl das Funktionsergebnis als auch dessen Interpretation durch den Aufrufer. Eine Konvention für leere Eingaben sollte nicht zufällig aus dem Schleifenverhalten entstehen.

Was unterscheidet eine Fehlermeldung von einem Fehlervertrag?

Der Vertrag umfasst, welche Bedingung verletzt wird, wie der Fehler dargestellt wird und was der Aufrufer danach tut. Prüfen Sie diese Entscheidungen zusammen; eine bessere Formulierung allein kann inkonsistente Rückgabewerte oder eine unbehandelte Ausnahme in der Anwendung bestehen lassen.

Kann ich einen Validator nach Änderung der akzeptierten Eingaben wiederverwenden?

Prüfen Sie zuerst seine anderen Aufrufer. Ein erweitertes Alphabet oder ein anderer Fehlertyp kann Code beeinflussen, der vom bisherigen Verhalten abhing. Halten Sie die Kompatibilität ausdrücklich fest und ergänzen Sie Prüfungen für diese Abhängigkeiten, bevor Sie die geänderte Hilfsfunktion wiederverwenden.

Für Windows herunterladen ↗

BracketMast · Aktualisiert 2026-10-25