Aller au contenu

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.
###(Dés-)Active le code après la ligne # 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
Évaluations restantes : 5/5
.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 # 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
Évaluations restantes : 5/5
.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.