Exercices Algorithmes Pile pour vérifier les parentheses
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Pile pour vérifier les parentheses

C'est un exercice classique qui montre l'utilite des piles dans un cas concret.

Quand un compilateur ou un interpreteur lit du code, il doit vérifier que les parentheses, crochets et accolades sont correctement apparies. Par exemple, ({)} est invalide car la parenthese fermante arrive avant l'accolade fermante.

L'algorithme utilise une pile :
- Quand tu rencontres une ouvrante ( [ ou {, tu l'empiles
- Quand tu rencontres une fermante ) ] ou }, tu regardes le sommet de la pile. Si c'est l'ouvrante correspondante, tu depiles. Sinon, c'est une erreur.
- A la fin, la pile doit etre vide. Si elle ne l'est pas, des ouvrantes n'ont pas ete fermees.

Écris une fonction parentheses_equilibrees(s) qui retourne True si les parentheses/crochets/accolades sont correctement equilibres.

Exemple :
parentheses_equilibrees('(a + b) * [c - d]') renvoie True
parentheses_equilibrees('({)}') renvoie False
parentheses_equilibrees('((())') renvoie False

Tests (3/4)

Equilibre
assert parentheses_equilibrees('(a + b) * [c - d]') == True
Mal ordonne
assert parentheses_equilibrees('({)}') == False
Non ferme
assert parentheses_equilibrees('(((') == False

+ 0 tests cachés

Indices (3 disponibles)

solution.py