Expression arithmétique et arbre binaire
Une expression arithmétique ne comportant que les quatre opérations \(+, - , ×, ÷\) peut être représentée sous forme d'arbre. La disposition des nœuds indique les priorités opératoires.
- Les feuilles représentent des nombres, elles ne possèdent pas de sous-arbre.
- Les nœuds internes représentent des opérateurs binaires, ils possèdent exactement deux sous arbres.
Par exemple, avec un parcours en profondeur infixe de l'arbre ci-dessous, on peut retrouver l'expression notée habituellement : \(((3 × (8 + 7)) - (2 + 1))\).

La classe Expr ci-après permet d’implémenter une structure
d’arbre binaire pour représenter de telles expressions.
Compléter la méthode récursive infixe qui renvoie une chaîne de caractères contenant
des parenthèses représentant l’expression arithmétique sur laquelle on l’applique.
Exemples
>>> a = Expr(Expr(None, 1, None), '+', Expr(None, 2, None))
>>> a.infixe()
'(1+2)'
>>> b = Expr(Expr(Expr(None, 1, None), '+', Expr(None, 2, None)), '*', Expr(Expr(None, 3, None),
'+', Expr(None, 4, None)))
>>> b.infixe()
'((1+2)*(3+4))'
>>> e = Expr(Expr(Expr(None, 3, None), '*', Expr(Expr(None, 8, None), '+', Expr(None, 7, None))),
'-', Expr(Expr(None, 2, None), '+', Expr(None, 1, None)))
>>> e.infixe()
'((3*(8+7))-(2+1))'
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
.128013witkcvN8o-)yl0bxpq_.P3(a;j+gE=/mT4rse97Sf,dè 612:C5nuéh050R0L0d0y0c0n0K0T0f0n0y0K0K0E010d0c0r010406050K0#0G0G0y0J0m040O0j0n0#0{0j0!050F12141618100r04051o1h1r0F1o100R0c0g0:0=0@0_0=0!0C0#0y0C0L0k0r0m0d0%1f0T0%0c0C0%0n1T0%0d0~050+0p0n0L1A0?0^011S1U1W1U0d1$1(1!0d0J1p1O0:1b0K0r0y0!0_0W011*1C010P0-0L0!0y0G0L1!1 21261,291(2c2e0~0a0T0v0J0j0r0j0K0c1e0!0T0)1}0J0J0L0f2z1h2h0!1p0F1O2M1_1{1`1#0R2j1D0c0!2b2w1!1x1z0;1+2W2Y0!0j2$1!0r2F1p2K2M2?11202A2(272,0J150n1!0y1R2F0P0_030t0t0f2-0L1W2+0j0k0V3h0~0T0V1h0y2@2`0 2_2i2|1,2~3032340L3601383a3c3e2Z3h0k24040T0W3n3p213r2K2V013w0y311p330%3537393b0)3G2,3I0w3k0w3O2J3q103S3u0_3V3X053Z3#3C3%3F2X3H3i0I3k0I3:1i3=3s2{1B3v0j2 3W3y3!3A3$3E3)423+3i0Z3k0Z482?3?2`3T3`4i3~3D3(3d4o3g3i0U3k0U4u4a3@4d3_4f3x3Y3z3B4C413f3I0N3k0N4L3Q4w3t4O3U4Q4h4S4j4U404n4X3i0i3k0i4$2L4(4c2)4+4g3{3}4k3 4m4E4?0k0M3k0M4{3R4x3^504R3|4T4l4D3*4G3h0o0~0V0o5d4}4y4,525k555m4F3I0V0V5r3m0F3o3;4%4b5w514A544V4=433h3K0V3N5I3P4|5M5g4z4.4B4;575T0V3-045-5u5#4*5%5j4/5l4W5,455/475Y5K5!4N4 5@534:565n5D4r5/4t60495L632}5x5P675B580V4I5/4K6e4v5=646j5(5Q5*693i0V4Z5/4#6s4M5f5?6w5^5)685C6B4^5/4`6G6g6I6v5O6x6l5{4p3h5a5/5c6T626V6i6X6L6y6N580W5q046?5;6h4e6.665`5S6#0W5F6^5H5J6f6+4)6W5i6~5A6!5o0W3K7g6`6,6|7b5z5R5+715.0W3/6*5e796-7m5_7d707f5}0W5 766t6{4P6}7n6z6O3J6b0W6d7G6H7w7l4-6/6Z7B3I0W6p7#7j7U7J7y6M6m5T0W6D7/5d1s2;1h2$2P0R1{2U5g4D2#1y1p2:0L2=3q611p4D852i0c0R0_392K5D3y8c8e6;5,252n0L8k7-6#733:7I010e0~3u876u270b3k8A8v0!0f0~0D0q2:8F7k0_0}040X8710778a2A8j018f2`7!8i8d8Z8l718n2d8p8)8r7f1!608v8D3L0T8`8N7)010K0R0~020s0#0j0d0z92949698950z0Y4d1)0c0G0r0n0$2e0!0+9n0T0#2A160p2F2B02030w0M0z0L8L2F0@0c1f0u9b9a939c9J0z8T8|8X8(8!213,8%8q7e9V0T8o9X7Z3i5.3O8U2^3S8Y9T0!3I5}5j9.8*5o459!8-9$7p9_8=3o8`8{8v8x040)0P9Q3T8^0Ta95g0P0G0~392X2y39ad4*8Q0xam4 0p8Q0K3da88V8B1,8Q0Q87ac8G0~0Caq27aAaCay3_0~0gaHaz0~aB8VaD8O3U0~0RaP8P0~0l8S8V9+869-9S0t8g4q9W8/9Ya/9{2e9}6A0k6b8uaVaba2b0aZ8~90049Nb69L969r0T0j0p0A0*0T8K2:0T2v0@0S2C0w0T0y1=0J0c0p1d0/a%6taxa+8ka.0k6p9?a,8:3I4Ia@8.7M58bE8?aV8 3kb0a20k0T0C0y0#0f0%1)0X0T0=0T0K0j0#0K0k9C839F1QbXbZb#0T9Oa(a99@bC6DbFa_7N4ZbKc258c0bP8}bR8_bT0TbV0g3W0L0#0J0Tb%b)cg1(cj2B1)0n9x9z0z0$0{930*0d0L0Qbb0r0$0J212Cb,9!0j0G9u1)b{by9,4xb~8#4@a:bM5T4^c5a;9%0k6Qa}cab4cd8`bV0R2t2yb$b(33b+b-b/9D0Lb=2Ac:0jc=9Ib897d49N9PbzcTa,bC6%c1c$9~3I5ac#cY6#dd5Yc-aU8}as0~au0nawcS8}0j0~0ub20!aFbYb!0LaK8vdy040EdHaVdC04aGb|d98bdbcV5pcX9^5D5qdjdY6B6@3OdoaL01dr04dtdva*aVdJdAdS4~2}aNchcjdMdx0~dLaTd+dOaOdRdw9RbBdV5EdXbH6B5Fd#ed3h8tdnc-d+d-d/b2d?dBaXc;cBd~d_1,dJe12?dpewaMa6d8e70TcU9U6B3Kdedk5o5W8,a^dfa`eP2M3oa)3Q5MeI9:6B9)339@eh5-eQbLd$3h9)eka3aVa5a7b2abdB0P0~c}0d0t9r0L0t0Pci0-1(b2aob2enavf8a#bx4ad^eHdUeJ3h9=e(bGa=fle,c65|a08WaabScdb2cbb799d5fC2F0!0gd11)0H0J0#1)2x0Tbfau0#1(9m0dace6d;dTe9fk0Va|fnfs8s4regfpf$fud+cbdofO1(cLci2Ue~9q2Y0Tf40#f60LfB9Md4eFfYe88)bC6oecf-bJ9#eS7NgbeVccbTd+a52F0dcj1ge28vfbduepdzerdPdEb#ev3T0j8^0c0KgC5g0e8I040h1fdGgsd=8^cIgI4*gud:eYdIgxfh5$esd1eugQdxgFgHg*eC8wgLgN2Yg6gYdaf!e#3hc0f(gg6nc4gfeN5Dc8eWb}fjg{0Vc)g~h36Pfrg 5,c)e;eB3Te@3Ae_8Eg#5?e|042X290qgPeG5gf9hqaratfchBaIfeg@2LeZh85Dddhce.0Vdih2hPdm5J8@fxglhF1,fAd6h$fE2bfH0ccs332F2:0$au9nbq9G8X0!hv1)2Cct9y9Ab:9E2x1Q2bhIfve!7!d(hOeh6?hfhd3Jd(c9g/f;c-b!0,f}2C0f160y2H0S9Eg39KfCi5hKg`7!8tiafp72ide.iFgjd*aEd.gU4 eyiN270K73cu9AiUcQ3q0TeXhJbAg9dV7ggcc%i)f,i+eLhjb1a40~0cgX2Lhk5ggWgw04d@hy5?dDb^hxiYd+gEi?g-eAj68^2,0diQ1,gK0~g=j4g^8}8Qff5Lfhi73i7si*dgjs3-i-jv3Je:a1doa2e3dsjf0_iPg.3TiS91h~0z0xiWjH01dJ0BjSdOj9j5gZ04jVjKi{hDgvhZjIg!j064j2dFi}i g74yi?h_0chwfd040x0laCi!i6hLjsfmfif)7CiGib9=i:jEiLjY3Qi`4*jJjakfjSjUjW0pds1_j}apj+d,j)i^fv5geqkve4d|0Jj}k0aTk2izi%fk7Qjua`kNjykPa|kde=8}a5i@jSi|kvkBj.d`a6etjki_jbj8knjc95jSjhgMgOj}joi_kJi$9/7!bEiDi+ge9|hg71bOjCjDkij/iMj%kje0jWjGldiO0~j$klaVk!k%exj-j@g$k)g(k+kzlei~gyhuj{lwd+aokHlmd j#jSjMb5jO0ljRkIh7iAjsg}k7l57fh1l4ie7/fuiKe?0~gogqlglccR860F897?847^811h0d7{l_2S2N0y1%l?0F7_8U0)0+0-0K04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)