BBracketMast
Espace de développement avec IA

Profondeur des délimiteurs imbriqués

Mesure la profondeur maximale d’un texte ne contenant que des parenthèses, crochets et accolades.

● ● ●BracketMast●
Méthodes de travail · Profondeur des délimiteurs imbriqués ×
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
✳Profondeur des délimiteurs imbriqués
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
  1. Vérifiez avant d’appliquer

    Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

  2. Modèles

    Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

  3. Projet

    Accepte le texte vide avec une profondeur nulle, mais refuse les paires croisées, les délimiteurs sans partenaire et tout autre caractère, espaces compris.

Méthodes de travail

Profondeur des délimiteurs imbriqués

Méthodes de travail ↗
Méthodes de travail
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
Espace de développement avec IA

Rendre les règles de validation compréhensibles pour le prochain appelant

BracketMast intègre le développement assisté par IA à un espace Windows où le dossier de projet et sa conversation de programmation restent liés. Utilisez-le lorsqu’une modification de validation exige plus de précision qu’une simple demande de gestion des entrées incorrectes. Décrivez le langage accepté, les conditions d’échec et ce que les appelants doivent recevoir, puis demandez à l’assistant d’inspecter le code existant avant de proposer une correction.

Une tâche sur bracket_depth.py peut porter sur les délimiteurs autorisés, leur ordre valide et le sens d’une valeur vide. Demandez un correctif et des exemples révélant ces décisions. Gardez la fonction et ses appelants en vue : changer l’alphabet accepté peut modifier le comportement même si les entrées équilibrées fonctionnent toujours. L’examen porte ainsi sur le contrat de l’application plutôt que sur une seule démonstration réussie.

Après examen de la proposition, exécutez les vérifications du projet sur les chaînes acceptées, les fermetures prématurées et les entrées inachevées. Affinez la demande à partir des échecs et conservez le comportement d’erreur convenu. BracketMast se connecte aux points de terminaison compatibles OpenAI ou Anthropic pris en charge, avec des identifiants si nécessaire. Vous pouvez choisir un modèle décrit comme sans restrictions si votre point de terminaison le propose ; les conditions du fournisseur restent applicables, et les limites de contexte et les outils dépendent du modèle et du serveur. Vos tests établissent si le code obtenu respecte le contrat.

Définir ce qu’un validateur doit accepter

Faut-il ignorer ou rejeter les caractères non pris en charge ?

Choisissez délibérément selon le contrat de l’appelant. Un validateur de chaînes composées uniquement de délimiteurs peut les rejeter, tandis qu’un analyseur de code source nécessite d’autres règles. Expliquez cette distinction à l’assistant avant d’accepter un changement qui ignore silencieusement des caractères inattendus.

Quel comportement adopter pour une valeur vide ?

Précisez si elle est valide, absente ou erronée dans votre application. Vérifiez ensuite le résultat de la fonction et son interprétation par l’appelant. La convention sur les entrées vides ne doit pas découler fortuitement du comportement d’une boucle.

Qu’est-ce qui distingue un message d’erreur d’un contrat d’erreur ?

Le contrat précise quelle condition échoue, comment l’échec est représenté et ce que fait ensuite l’appelant. Examinez ces décisions ensemble ; améliorer seulement le texte peut laisser des valeurs de retour incohérentes ou une exception non gérée dans l’application.

Puis-je réutiliser un validateur après avoir modifié ses entrées acceptées ?

Inspectez d’abord ses autres appelants. Un alphabet accepté plus large ou un type d’erreur différent peut affecter le code qui dépendait de l’ancien comportement. Explicitez la compatibilité et ajoutez des vérifications de ces dépendances avant de réutiliser l’utilitaire modifié.

Télécharger pour Windows ↗

BracketMast · Mis à jour 2026-10-25