Exercice 6 - Expression bien parenthésée (1)⚓︎
Écrire une fonction Python bien_parenthesee
qui prend en paramètre une expression, sous forme de chaine de caractères, et qui renvoie un booléen indiquant si elle est bien parenthésée. Pour cela, il faut vérifier que toute parenthèse ouverte est ensuite fermée, et une parenthèse ne peut pas être fermée si elle n'a pas été préalablement ouverte. Le tableau ci-dessous donne des exemples de chaînes bien et mal parenthésées :
Bien parenthésées | Mal parenthésées |
---|---|
'abc' |
'(' |
'(abc)' |
')'} |
'ab(cd)ef' |
'abc)' |
'a(b)c(d)e' |
'ab)c' |
'a((b)c)d' |
'a(b(c)d' |
'a(b(c()e)f)g' |
'a(b)c)d(e)f' |
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
.128013="I_e+y3qdRuxgPvr08-èêfbco/mh(aÀpl)7,'n sS:6w
1ki.F9Ot25;4A030e090W0z0R0C0J0I0t0C0z0J0J05060W0R0B06020O030J0g0w0w0z0l0b020K0u0C0g0^0u0H0I000z0w0B0Z0I0f09120l0d0g090J030v0 1113150}0B02031A1t1D0v1A0}0e0R0k0-0/0;0?0/0H0i0g0z0i090o0B0b0W0x1c0I0x0R0i0x0C1(0x0W0{030(0s0C091M0:0=061'1)1+1)0W1;1?1/0W0l1B1!0-180J0B0z0H0?0X061^1O060r0*090H1g091/2a2c2h1`2k1?2n0w2p02040I0j0l0u0B0u0J0R1b1d0%280l0l090t2K1t2r0H1B0v1!2W2426251:0e2t1P0R0H2m2H1/1J1L0.1_2)2+0H0u2/1/0B2P1B2U2W2 0~2b1d2;2i2^0l120C1/0z1%2P0r0?0108080t2_091+2@0u0o0m0o0P0{0I0P1t0z30330|322s351`37393b3d093f063h3j3l3n2,3q0o2f020I0X3x3z2c3B2U2(063G0z3a1B3c0x3e3g3i3k0%3Q2^3S0c3u0c3Y2T3A0}3$3E0?3(3*033,3.3M3:3P2*3R3r0!3u0!3|1u3~3C341N3F0u383)3I3-3K3/3O3=4b3@3r0Y3u0Y4h2 3 333%434r473N3;3m4x3p3r0M3u0M4D4j404m424o3H3+3J3L4L4a3o3S0E3u0E4U3!4F3D4X3'4Z4q4#4s4%494w4)3r0n3u0n4.2V4:4l2=4?4p44464t484v4N4~0o0U3u0U533#4G41584!454$4u4M3?4P3s0m0{0P0m5l1E2}1t2/2Z0e262'5o4M2.1K1B2|092~3A3}3!034M5S2s0R0e0?3i2U3S3t4#5!5$5e5v5(2g2x095,5u4O5/2W3y4k3%0Q0{0%0r5U2V0I5|5o0H0r0{0s0R2m082b2P0H1!1r0909625Y562i0`020y6l654=0H0{090h5Q0;0R1c6s4W576p0D0L6l0}4i5V3$5+065%333S3U5r6O4|5f4c3T5:2o5?4(6Y6T0v3y0I6+646E360{0t0B0W6l6-5n4=0u0{056@6t570w0R0{5B6L546D4G6V085'3r3_5*5#6P5-5^7c6!2y6$4}6Y7d3Y6,6^4;575~020r4o6~6.3F6:130z2R092P7z6_570u0N0{2*7I7t6/026x6z2I6C756m3%6p6I7X6K316N7f6Q2c3S4e7e7m6X4y0o4e0I5;7/5.4d1/6)3V7r6,6 2i7v0R617X7s6n7B020t7D7F7H86811`6{02056}8f7A0?0J5)00010c0U0Z0y8r8t0Z777Q1`7!6J8A1d797b0o4A7.7g5@5g4A7@6#8M6%7;8K7q7 8X8g426:6=7P880?8i0a8l2 873%715z8E7X5|8H6R4Q3I798N6Y4R8Q7l8S7n7;4R5`7~8Y8n0683858,8Z3'7C0l7E0W7G6k8m7J2i8i8k8%3%8p0{8x8u0D9u8z8=988D7$8F0I8@7+3r4+8L6W7`0o4+8 5=917:5w9I8W8X7r9d6v8a8$9l8B8(0{0o8+3A8-5o8/023w9C9z787)7a8^0o509J7h5g509O7_7i9_7|6*9V9d9a9q668#6?9#8'068i000C0W9y9c989-747'9m8C0{7#4E9D9F0H3S5i9{8|7;5i9 9Q9Lay9U9V6+a60{2P0W0g0l0Ha84=0Q0t0{0T3)0J9kat9;5Z9?8I5A8`9?aA5wa(aD9Ka1a(959W987vaMaOaQac4HaaaR7K6|9)3!9+4=am8;310v5X5D5R5F5O1t0W5Ibf2$2X0z1=bc0v5G1z7Y5o2P0w080r0z0Q09080x7d1l1n1p1r0Ias5T1G3B2/3%0z0e0w1c2J6B8G678i1zbNbPbR2K0o0^0W220207bV4p2K1sbKbq0V340u1h9i0I1?7@b?0s2P0I2M6e2m1!0paY0,0i0z0g0t0x1@0'b 2E2J090S1E3B1A0A0Ic80t0g1dbQ2y6g0F9E0C7@1@0B091a0I0bcn0k0u0R0l0I0B190,c013c20xc4bG0ecf9i0,bFb 1@c7c9cb0Jcib/1C02cm0/0I2k0Hcv0*c.c80W0I1p0Gc=cE2mcn2Jb_1@0w0q2yb{0wb}chcjbq0#1ab~0J181abTcK2H2IbmbHda0$1K3%1Q1S1U1W1Y1!1$1|1*1,1.br4=2v2m2o0{0j1Z1#a{315Q6m3Z2V5W3l7Yav3s3sa)a04)0PdXa.9|3Rd#3t5s5da+dW5)3|a@5 3Ka 3668026a6cc16gc%6j3Xa#ad6p6re2a}7S6y2P6A7Wao9$066GbI4/aua%6Rd#6T3c8{8T3pem7k9Pa/d!6Zd+4'92er6Za=80989Y6;0W08c#caaZ9*9d9od@1`b69:ed8Gek7+d#7peoa*eqdW3_d%d-eY2g4`5te$e*eDaJeFaa08cUcH9ieQ9%8je{06eSa!eU9EeWawd#7-6Ue#eAdW7?7^aE5^f6e+4Kevd(7=a396b47u0{7x0le~eG8b9g8d0913e~7L7NdMeNe=e87UbT9D5o9Bf15T7(5,5'd#8Ve!dZfk8Pfdfj3@fRfh5cez9RdW8V7}aIaK0284ft9f9h9jfAb1e~9s029x8w8s8ufJ4=fL4je6dVd#94f8fUfZ0o8~fXd'g98~e,d,e.gafmaIa?ap8!9ZeIeKcbf?028*e~9-9/fM6M9=fPel9MdYfeew9Ngce)gEeyfYeB9Tf*a5d;7S1+9bfEgn9e8a8c9i8eakgX9ob2639df_9x9wf}ajfNgXg1eig3f4dW9`g7gGfk9~gJgi9~ggf%5.d#g{gQglfo7ReHe@cVeMb3eO0{gva|9,729.b7g;a$gCeX5hgFgNdWaCh0fad#aCh3hvhAgkgRgXa7hk6ue?e^cggt000iaif/gpeJcogse6fKarhogAhq7gfQ5xhugdeBa-hyf'd)5ygMh*d.5ye:glf,a_aPe~aTaVaXhf76g^hrf53sd/fTg}g90Pd*h-h5i6f#4{h=d)d/h8ha1`a^0'a`hShcgri13Vhh8jg)ivfFhchMe`eTbJba1G5Ebo5O6Kbp5F0'0)0+02.
# Tests
(insensible à la casse)(Ctrl+I)