Información

Fecha de entrega 27/08/2025 17:00:00
Tiempo límite de envío Sin límite de envío

Inicia sesión

[Q1] Compter sur les doigts

Le run-length encoding (RLE) encode une chaîne de caractères en indiquant, pour chaque caractère consécutif, combien de fois il est répété. Le nombre (entre 1 et 9) précède immédiatement le caractère.

Par exemple, "3a2b1c2a" signifie : 3 fois 'a', 2 fois 'b', 1 fois 'c' et 2 fois 'a', ce qui correspond à la chaîne "aaabbcaa".

Votre fonction doit décoder correctement une telle chaîne. Par exemple :

"3a" doit devenir "aaa",
"3a2b1c2a" devient "aaabbcaa",
"1d1c1b1a" devient "dcba",
"9a3a" devient "aaaaaaaaaaaa",
"9a3a3b" devient "aaaaaaaaaaaabbb",

Si la chaîne encodée est vide, la fonction retourne la chaîne vide.

Vous pouvez supposer que l'encodage est toujours bien formé : une suite valide de paires (chiffre entre 1 et 9 suivi d'un caractère).


Pregunta 1: rle_decode

Écrivez une fonction rle_decode(t) qui prend en argument une chaîne encodée selon le format Run-Length Encoding (RLE) décrit ci-dessus, et qui retourne la chaîne d'origine.

Pregunta 2: Zone de test

Insérez votre code de test optionnel ci-dessous. Vous pouvez utiliser assert et print pour tester votre programme. Votre code de test sera exécuté à la suite de la définition de votre fonction (il ne faut pas la recopier ici). Ce code test sera ignoré lors de l'évaluation. Il vous sert seulement à tester votre propre code.

Exemple: