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
.128013vt4=8fw2pmuP(jè751:,cSsrékE63;0 dg)/N+n9qiyelh_bCoaxT.-050H0S0c0Z0Q0T0x0G0v0T0Z0x0x0e010c0Q0j010406050x0l0k0k0Z0y0R040w0Y0T0l0{0Y0N050K12141618100j04051o1h1r0K1o100H0Q0b0:0=0@0_0=0N0I0l0Z0I0S0%0j0R0c0U1f0G0U0Q0I0U0T1T0U0c0~050+0W0T0S1A0?0^011S1U1W1U0c1$1(1!0c0y1p1O0:1b0x0j0Z0N0_0i011*1C010g0-0S0N0Z0k0S1!1 21261,291(2c2e0~0a0G0m0y0Y0j0Y0x0Q1e0N0G0)1}0y0y0S0v2z1h2h0N1p0K1O2M1_1{1`1#0H2j1D0Q0N2b2w1!1x1z0;1+2W2Y0N0Y2$1!0j2F1p2K2M2?11202A2(272,0y150T1!0Z1R2F0g0_030V0V0v2-0S1W2+0Y0%0s3h0~0G0s1h0Z2@2`0 2_2i2|1,2~3032340S3601383a3c3e2Z3h0%24040G0i3n3p213r2K2V013w0Z311p330U3537393b0)3G2,3I0D3k0D3O2J3q103S3u0_3V3X053Z3#3C3%3F2X3H3i0d3k0d3:1i3=3s2{1B3v0Y2 3W3y3!3A3$3E3)423+3i0r3k0r482?3?2`3T3`4i3~3D3(3d4o3g3i0C3k0C4u4a3@4d3_4f3x3Y3z3B4C413f3I0q3k0q4L3Q4w3t4O3U4Q4h4S4j4U404n4X3i0f3k0f4$2L4(4c2)4+4g3{3}4k3 4m4E4?0%0O3k0O4{3R4x3^504R3|4T4l4D3*4G3h0F0~0s0F5d4}4y4,525k555m4F3I0s0s5r3m0K3o3;4%4b5w514A544V4=433h3K0s3N5I3P4|5M5g4z4.4B4;575T0s3-045-5u5#4*5%5j4/5l4W5,455/475Y5K5!4N4 5@534:565n5D4r5/4t60495L632}5x5P675B580s4I5/4K6e4v5=646j5(5Q5*693i0s4Z5/4#6s4M5f5?6w5^5)685C6B4^5/4`6G6g6I6v5O6x6l5{4p3h5a5/5c6T626V6i6X6L6y6N580i5q046?5;6h4e6.665`5S6#0i5F6^5H5J6f6+4)6W5i6~5A6!5o0i3K7g6`6,6|7b5z5R5+715.0i3/6*5e796-7m5_7d707f5}0i5 766t6{4P6}7n6z6O3J6b0i6d7G6H7w7l4-6/6Z7B3I0i6p7#7j7U7J7y6M6m5T0i6D7/5d1s2;1h2$2P0H1{2U5g4D2#1y1p2:0S2=3q611p4D852i0Q0H0_392K5D3y8c8e6;5,252n0S8k7-6#733:7I010A0~3u876u270h3k8A8v0N0v0~0B0!2:8F7k0_0}040t8710778a2A8j018f2`7!8i8d8Z8l718n2d8p8)8r7f1!608v8D3L0G8`8N7)010x0H0~020P0l0Y0c0E92949698950E0X4d1)0Q0k0j0T0z2e0N0+9n0G0l2A160W2F2B02030D0O0E0S8L2F0@0Q1f0$9b9a939c9J0E8T8|8X8(8!213,8%8q7e9V0G8o9X7Z3i5.3O8U2^3S8Y9T0N3I5}5j9.8*5o459!8-9$7p9_8=3o8`8{8v8x040)0g9Q3T8^0Ga95g0g0k0~392X2y39ad4*8Q0nam4 0W8Q0x3da88V8B1,8Q0u87ac8G0~0Iaq27aAaCay3_0~0baHaz0~aB8VaD8O3U0~0HaP8P0~0J8S8V9+869-9S0V8g4q9W8/9Ya/9{2e9}6A0%6b8uaVaba2b0aZ8~90049Nb69L969r0G0Y0W0o0*0G8K2:0G2v0@0p2C0D0G0Z1=0y0Q0W1d0/a%6taxa+8ka.0%6p9?a,8:3I4Ia@8.7M58bE8?aV8 3kb0a20%0G0I0Z0l0v0U1)0t0G0=0G0x0Y0l0x0%9C839F1QbXbZb#0G9Oa(a99@bC6DbFa_7N4ZbKc258c0bP8}bR8_bT0GbV0b3W0S0l0y0Gb%b)cg1(cj2B1)0T9x9z0E0z0{930*0c0S0ubb0j0z0y212Cb,9!0Y0k9u1)b{by9,4xb~8#4@a:bM5T4^c5a;9%0%6Qa}cab4cd8`bV0H2t2yb$b(33b+b-b/9D0Sb=2Ac:0Yc=9Ib897d49N9PbzcTa,bC6%c1c$9~3I5ac#cY6#dd5Yc-aU8}as0~au0TawcS8}0Y0~0$b20NaFbYb!0SaK8vdy040edHaVdC04aGb|d98bdbcV5pcX9^5D5qdjdY6B6@3OdoaL01dr04dtdva*aVdJdAdS4~2}aNchcjdMdx0~dLaTd+dOaOdRdw9RbBdV5EdXbH6B5Fd#ed3h8tdnc-d+d-d/b2d?dBaXc;cBd~d_1,dJe12?dpewaMa6d8e70GcU9U6B3Kdedk5o5W8,a^dfa`eP2M3oa)3Q5MeI9:6B9)339@eh5-eQbLd$3h9)eka3aVa5a7b2abdB0g0~c}0c0V9r0S0V0gci0-1(b2aob2enavf8a#bx4ad^eHdUeJ3h9=e(bGa=fle,c65|a08WaabScdb2cbb799d5fC2F0N0bd11)0#0y0l1)2x0Gbfau0l1(9m0cace6d;dTe9fk0sa|fnfs8s4regfpf$fud+cbdofO1(cLci2Ue~9q2Y0Gf40lf60SfB9Md4eFfYe88)bC6oecf-bJ9#eS7NgbeVccbTd+a52F0ccj1ge28vfbduepdzerdPdEb#ev3T0Y8^0Q0xgC5g0A8I040L1fdGgsd=8^cIgI4*gud:eYdIgxfh5$esd1eugQdxgFgHg*eC8wgLgN2Yg6gYdaf!e#3hc0f(gg6nc4gfeN5Dc8eWb}fjg{0sc)g~h36Pfrg 5,c)e;eB3Te@3Ae_8Eg#5?e|042X290!gPeG5gf9hqaratfchBaIfeg@2LeZh85Dddhce.0sdih2hPdm5J8@fxglhF1,fAd6h$fE2bfH0Qcs332F2:0zau9nbq9G8X0Nhv1)2Cct9y9Ab:9E2x1Q2bhIfve!7!d(hOeh6?hfhd3Jd(c9g/f;c-b!0,f}2C0v160Z2H0p9Eg39KfCi5hKg`7!8tiafp72ide.iFgjd*aEd.gU4 eyiN270x73cu9AiUcQ3q0GeXhJbAg9dV7ggcc%i)f,i+eLhjb1a40~0QgX2Lhk5ggWgw04d@hy5?dDb^hxiYd+gEi?g-eAj68^2,0ciQ1,gK0~g=j4g^8}8Qff5Lfhi73i7si*dgjs3-i-jv3Je:a1doa2e3dsjf0_iPg.3TiS91h~0E0niWjH01dJ0MjSdOj9j5gZ04jVjKi{hDgvhZjIg!j064j2dFi}i g74yi?h_0Qhwfd040n0JaCi!i6hLjsfmfif)7CiGib9=i:jEiLjY3Qi`4*jJjakfjSjUjW0Wds1_j}apj+d,j)i^fv5geqkve4d|0yj}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#jSjMb5jO0JjRkIh7iAjsg}k7l57fh1l4ie7/fuiKe?0~gogqlglccR860K897?847^811h0c7{l_2S2N0Z1%l?0K7_8U0)0+0-0x04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)