Exercice 7 - Compression et décompression⚓︎
1. Décompression⚓︎
Compléter la fonction decompresse
qui prend en paramètre une chaîne de caractères, et qui la décompresse selon les règles suivantes :
- la longueur du paramètre
chaine
est paire (et non nulle). - tous les caractères de
chaine
d'indice pair sont des chiffres (entre 0 et 9). - le résultat est calculé en répétant chaque caractère d'indice impair de
chaine
le nombre de fois indiqué par le chiffre juste avant.
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="_e+3yqdàuéxgPvr08-èê*fbcîo/m]h(apl)7,[n sS:6w
1ki.9Ot25;4030d080X0C0T0E0L0K0u0E0C0L0L05060X0T0D06020Q030L0f0y0y0C0l0b020M0w0E0f0^0w0J030x0 1113150}0D02031l1e1o0x1l0}0d0T0k0-0/0;0?0/0J0i0f0C0i080o0D0b0X0A1c0K0A0T0i0A0E1Q0A0X0{030(0t0E081x0:0=061P1R1T1R0X1Z1#1X0X0l1m1L0-180L0D0C0J0?0Y061%1z060s0*080J0C0y081X1{1}221(251#282a0{040K0j0l0w0D0w0L0T1b0J0K0%1_0l0l080u2v1e2d0J1m0x1L2I1=1@1?1Y0d2f1A0T0J272s1X1u1w0.1'2S2U0J0w2Y1X0D2B1m2G2I2.0~1|2w2!232'0l120E1X0C1O2B0s0?0107070u2(081T2%0w0o0m0o0R0{0K0R1e0C2/2=0|2;2e2@1(2_2{2}2 083106333537392V3c0o20020K0Y3j3l1}3n2G2R063s0C2|1m2~0A303234360%3C2'3E0a3g0a3K2F3m0}3O3q0?3R3T033V3X3y3Z3B2T3D3d0#3g0#3+1f3-3o2?1y3r0w2`3S3u3W3w3Y3A3#3}3%3d0Z3g0Z432.3.2=3P3=4d3_3z3!384j3b3d0O3g0O4p453/483;4a3t3U3v3x4x3|3a3E0G3g0G4G3M4r3p4J3Q4L4c4N4e4P3{4i4S3d0n3g0n4X2H4Z472#4$4b3?3^4f3`4h4z4-0o0V3g0V4=3N4s3:4`4M3@4O4g4y3$4B3e0m0{0R0m574@4t4%4|5e4 5g4A3E0R3f025y5o465q4{4v4~4Q4,3~3e3G0R3J0x3k3,4Y5D5a4u4(4w4+515K0R3(5A3*5P3L4?5T4#5V5d4)5f4R5!405A425(5R2H1p2,1e2Y2L0d1@2Q5a4y2X1v1m2+082-3m5`1m4y6b2e0T0d0?342G5x3u6i6k505h6n0K2j086q5v525z3+4I4_0S0{0%0s6d0K5+4_0J0s6F2C0w0y690;086d6K230`020B6V6C2^0{0u0A0)2U6#594#6Y0F0N6d0}443M5D6p066l2=3E3G5d6`5Y6s3d206u296w6{6r5w741X5(0K7f6J6$3r0{2B0 0E0X6I6W1(0w0{057p7i0?0L5z00010a0V0!7A7C0!6=6,6h6j796m3d5$707L727b0o3(762a6x5;4k7U7d3k7g7h6-6D0{0s4a7v7)6%020T7.4!4_0w0P0{2T7?4^2^0t7k1}1G7J7~1(6Y6!6@5{7w060y0T0{5n896g850?6Y0H7}4t80022i843P878s5U6'6)3}8v6.0{0F8m8h7(7@238d0{5O2:8b6/6;8h6?8M4s71077N0o5?7Q7Y5J7!407W787S528Y7e7'7g7q0?0u5z010K0W2w1|0l360f0l0X0K0/0-6)0v2U2x1$0u130C2D0p7l0K270K8`290p1=080L0U7I8h6_7R8V6}4l6o9r6y5K4m8'8!5Z7!4m2I7%8-7f8/068;0{8?0T9e0L8 0T0u9O0E7F7D2T1u0u1$0d1}0,9!1.97932U9n8Q8s8U8W4D4N8U9x7!4D9A799^5i9=3K9H9I8b9L028?8^0K2B0i132y0e920C0c0f1$7,0T0,0%0f0h0-999b9d9f0y0q2a0K0X086R0L0H0-9W0!9l8 2r8}ap0Kag9#9%901$0l8208aC1N0C0k1}9!963I9e2w0Y9-4q9/9r8W4U9?9w7Z5i4U9{8)5Ka-a0a19Ja48?0oae3}0I0T0z1_0J0^278 1#6u6Q0t2Ba!aj0,agaE0*0K0s0C1aa80g0D0gay0laPapaRar1$0L0w0f8y0X0ga(459p3O9:9t0o4/a.9B73bM216vbP7TbNa`9Ha|8=0Ka 6(6*08b2090Rb436b60Tb8bv98bx0X9c1$bi7B9X0Eblbn8 0lbqbs080lbG5SbI8Ta+bL54bO9|a:3E54a?7a52ccbX8-bZ9M9o8S7K6q8W5m9vbU6z5kci9}5x5k9F3Ha{a3b!0jbBbuaR0D0D388Ea)c8cs7MbL5ycwce8#5icWcAcf3dcWcEa18G8j9Kb!0a0K0r0KaE0CaEcq6cbJca1}5x6 2~9@c%5LbS77cx5!6 8,bYcH9M9P8 0f95b%949#97aqb@be0d1cb9aE0gaX190C2v2x1c95c?0Cc@b{0!c65*cS2wbKc}c'7Pd0a/cZ5x7VbTcY9Cc!7Pd9cn8b0J7k9l0f7n8n5a7s02097u8F9J0J8p2T7odH8t0{88crc,d!02b%8zd@5a6Y0I8A6L7{e56X0{0z0Fd(4#d*0rede6d~8y6+e18B02e4emei7=eq23d*09e81(8J5Aex8keac_6^c{ctcV8YdNd67!0R8%dSa@eM8+9Ga27/1(6E022B0X8}1dd.dZd#7md?cR2:0x6f5|6a5~671e0X61e?2O2J0C1!e:0x5 6?0%0(0*0L02.
2. Compression⚓︎
Compléter la fonction compresse
qui prend en paramètre une chaîne de caractères, et qui la compresse selon les règles inverses de ci-dessus :
###(Dés-)Active le code après la ligne
(Ctrl+I)
# Tests
(insensible à la casse)(Ctrl+I)
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="mI_e]h(+3yapl)7qd[uné sSx:6w
gPi1vkr.,908O-t2è5Df;4bco/030n0a0O0h0C0j0t0s0X0j0h0t0t05060O0C0i06020z030t0p07070h0G0g020u0Y0j0p0?0Y0q030Z0}0 11130{0i02031j1c1m0Z1j0{0n0C0E0+0-0/0;0-0q0A0p0h0A0a0N0i0g0O0c1a0s0c0C0A0c0j1O0c0O0_030%0W0j0a1v0.0:061N1P1R1P0O1X1Z1V0O0G1k1J0+160t0i0h0q0;0P061#1x060T0(0a0q0h070a1V1_1{201%231Z26280_040s0B0G0Y0i0Y0t0C190q0s0#1@0G0G0a0X2t1c2b0q1k0Z1J2G1:1=1;1W0n2d1y0C0q252q1V1s1u0,1$2Q2S0q0Y2W1V0i2z1k2E2G2,0|1`2u2Y212$0G100j1V0h1M2z0T0;0109090X2%0a1R2#0Y0N0D3a0_0s0D1c0h2-2:0`2/2c2=1%2@2_2{2}0a2 06313335372T3a0N1~020s0P3g3i1{3k2E2P063p0h2`1k2|0c2~3032340#3z2$3B0f3d0f3H2D3j0{3L3n0;3O3Q033S3U3v3W3y2R3A3b0V3d0V3(1d3*3l2;1w3o0Y2^3P3r3T3t3V3x3Y3`3!3b0R3d0R402,3+2:3M3/4a3?3w3X364g393b0x3d0x4m423,453.473q3R3s3u4u3_383B0l3d0l4D3J4o3m4G3N4I494K4b4M3^4f4P3b0L3d0L4U2F4W442Z4Z483:3=4c3@4e4w4*0N0J3d0J4/3K4p3-4@4J3;4L4d4v3Z4y3a0K0_0D0K544;4q4!4_5b4|5d4x3B0D0D5i3f0Z3h3)4V435n4^4s4{4N4)3{3a3D0D3G5z3I4:5D574r4$4t4(4~5K0D3$025!5l5S4Y5U5a4%5c4O5Z3}5$3 5P5B5R4F4?5*4`4'4}5e5u4j5$4l5?415C5_2?5o5G5}5s4 0D4A5$4C644n5(5`695V5H5X5 3b0D4R5$4T6i4E565)6m5+5W5~5t6r4,5$4.6w666y6l5F6n6b5.4h3a515$536J5^6L686N6B6o6D4 0P5h026(5'67466!5|5-5J6R0P5w6*5y5A656X4X6M596:5r6Q5f0P3D756,6Y6.705q5I5Y6?5#0P3'6W2G2)0a2G2W2J0n1=2O574v2V1t1k7l2+3j5@1k4v7z2c0C0n0;322E5u3r7G7I6%5Z1 2h0a7O6c7Q2G5A6-0;0F0_0#0T7B0s6k2?0T0_34077l0/0a7B7*1%0^020d7?7Z3N7-0c0'2S7|790;7_0k0w7B0{6|7E2u7N067J2:3B3D5a8e6p6E3C7R277T8f7P6?1V5P0s8x7)7}0q0_2z0}0j0O7(7@0;0Y0_058H7}0t6^00010f0J0U8R8T0U89837F7H8s7K3b5#8k8$8m4 3$0s7S7U733#8v3h8y8z847~027l0X8N8{8K028M8b8`6~2?7 817=8b8I067_0o8!4=21070C0_5k9c7}7_0b8Z9o4p8l098'0N5:8*8;6=5f3}8/8q9B7e9D8@3E8y9d8B020X0i8G959d92942,969i1%9k9m9s2.3L9v9x619A8s7V6R4j9F289H6q0N9+8w9M7}7#020T4790973o7-11a19Z8J0y0_2Ra64q993`9h3M7_888b8a9'9u8+9w8h4z7Mao9.5f4A9;8r8,5K6f3H8_8_9d0X6^010s0M2u2z0A112w2r0s1Z0+110h2B0Q2z1@0p0G1{0O0s0a0ta%0G0r0i0r0O0r0s0i172r0aa!0*9 0C0t0H9%7A9(ao9x6t9,az6R4Rax9?8nb49`aD9Y3M9}0C7'9T8Aa40Gac579V9W3jbf5T0_8~ag57aia 3J5D9)aq0N6Gb58t5f4,b99-8=4+9Kbebe9N7-9Rbo4Y920ebr3Jbt4Y9#5$bA2FbCb2bE6TbHau3B51bLb65fb-bdaD9d9}360t9bama2850_aj6j9t8#7O9x5jasba6d5hb=bI5u6)aCbQaE9|0_0y1N1ZbV5`bT9S9X9U0_000A0O0UbZ2Fb#4?b%5jbx4YbzakagbD1{5u6^b.bN3a5wcfb/6rcQb_ckcl8{aG0_aI080j0s0g0s2|0p2u2)0Y1Y0Q280saQaS2$070WaY2wa+a-0?2t0*a(a%a)0G0C2B0a280qa%a=0p0*0Aa#0q2O0m0p1!0Ja~cLc68db+cO6r8j2|9vcW5L8p9=bM9C5u8jcZc!8xaFaH0s0S1{0*0X1!0X0.0Ic_8W8U0(c+c-a;11a'0vdca=1!dY0U0hd/d:d;d/d-0s0d5N0sd-0hd-0kdWd!0T0h180s2z0q0E0Y0g0abndsc0duc8bE5!cbdF9I5u8.8:ek9@ei7X9LdKc#c106c%02aId-0J0h0fd}8S8Udrc5ee0scN0q5u9zdzatcS0D9Eeob?eObPeueva78|8D0p8Fcr21bXcC3E9N0W0_d8cI4?7_7{dt3Mb%6VeKby0_0ke)1%bXf13.bv2z8 edb0anegdw3a9+eQcc5Z9:eVcg6r9_8^eZ9{8{9O9Qcubscw020Ne,cE9j9l02e|42e_eM5uaBfgep8n6edDayfl3aaBdJbRbl02e%e(bk910_bYf43Ne/02e;e_e~7`e=989PbUf+cJe f%f3fZew9Obwf9bBb1fceN6rb4fKeWg3fOfh6R6seYdKbSf:fub!fwfz9dcGb(8ceLdvg23abGg5fQ0DbKfkdBgvgcb`fVf}cv7}9Vf%fsa5f~b)g08%ehb-gtgyb;gxeSb^fodLcm02co24gHctf^cxczcBf%cG9ne}f?02c4fFeKfH3b6(ejg63CcegTdGg^cifTfAa3fWa(e'ggcDfwf$f`e#0qf(f*g.e?0_e^hhfB0_fEf 8{86g'020eg$8}f7gmb*g18icQgQcS6@g8fL6'cYgWgBfrg%hc3M92fyg+fCho5RfGgp8idygog9741~cVhEdIhKgefXh8e-gFf#gj8Ahf1:f.7^hjh^f5gfh{9ef@hObpf#hvgDg=fac7gNfd7hg`fQibh'g 3C8)b_b{8C0$a!1bi15)il8Eh-al7A0Z7D1n2*1c7o1c0O7qiC2M2H0h1Y7miA7w8a0#0%0(0t02.
# Tests
(insensible à la casse)(Ctrl+I)