j’ai un peu compris mais pas tout à fait car je devrais obtenir 3 et je n’obtiens que 1 donc quelque chose ne va pas :
glou = "CCTTTTCATTCTGACTGCAACGGGCAAT"
glou1 = "TTCTGAACTGGTTACCTGCCGTGAGTAA"
import re
re_stop = re.compile("TAA|TAG|TGA")
# votre code
def count_stop(dna):
"""
localise le prochain STOP en commençant à
l'indice start, et sur la même phase
renvoie None s'il n'y en a plus
"""
# on commence à l'indice en question
index =0
# tant qu'on trouve un STOP
while True:
# on cherche un STOP
# à partir de la position courante
match = re_stop.search(dna, index)
# il n'y a plus rien à chercher
if match is None:
return None
print(index)
# si on n'est pas sur la même phase que `start`
# on ignore cet endroit
#index = match.start()
else:
index += 1
#continue
# sinon, il y a un match sur la bonne phase
return index
continue
# si on est ici c'est qu'il n'y a plus rien à trouver
return None
glu =count_stop(glou1)
print("glu =" ,glu)