Bonjour,
Il m'a été demandé d'écrire une fonction RLE encoding qui prend une chaine de caractères et l'encode au format RLE

exemple :
RLEencode("AAABBCCCC")
>>> "3A2B4C"

et d'ecrire une fonction RLEdecode ben qui fait l'inverse.

J'ai réussi a faire la RLEdecode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 i = 0
    res = ""
    while i < len(x):
        if len(x) == len (x):
            res = res + int(x[i]) * str(x[i+1])
        i += 2
    return res
mais je bug totalement sur la RLEencode est ce que quelqu'un pourrait m'indiquer comment m'en sortir avec ce que j'ai déja ecrit a savoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
def RLEencode(x):
    i = 0 
    res = ""
    prov = 0
    while i < len(x):
        if x[i] == "A":
            prov = prov + 1
            res = res + str(max(prov,0)) + "A" 
        elif x[i] == "T":
            res = res + str(x.count("T")) + "T"
        elif x[i] == "C":
            res = res + str(x.count("C")) + "C"
        elif x[i] == "G":
            res = res + str(x.count("G")) + "G"
        i += 1
    return res
Merci !!