Bonjour quelqu’un pourrait m’aider pour la fonction python suivante: Créer une fonction compresse(b) qui, pour éviter la répétition des nucleotides, renvoie le
Informatique
yacineishak2
Question
Bonjour quelqu’un pourrait m’aider pour la fonction python suivante:
Créer une fonction compresse(b) qui, pour éviter la répétition des nucleotides, renvoie le tableau de chacun d'entre
eux suivi de son nombre d'occurrences successifs.
Ainsi compresse("AAAGAACTTCCC") renvoie ['A',3,'G',1,'A',2,'C',1, 'T',2,'C',3].
decompresse(tab) qui fait l'opération inverse.
Créer une fonction compresse(b) qui, pour éviter la répétition des nucleotides, renvoie le tableau de chacun d'entre
eux suivi de son nombre d'occurrences successifs.
Ainsi compresse("AAAGAACTTCCC") renvoie ['A',3,'G',1,'A',2,'C',1, 'T',2,'C',3].
decompresse(tab) qui fait l'opération inverse.
1 Réponse
-
1. Réponse Kaohm
def compresse(b):
cpt = 1
l = []
c = b[0]
for i in range(len(b)-1):
if b[i] == b[i+1]:
cpt+=1
else:
l.append(b[i])
l.append(cpt)
cpt = 1
l.append(b[i])
l.append(cpt)
return l
def decompresse(tab):
m = ""
for i in range(0,len(tab)-1,2):
m+=tab[i]*tab[i+1]
return m