def contacodon(seq):
# Lista de stop codons:
stops = ["TAA", "TAG", "TGA"]
count = {}
for i in range(seq.find('ATG'), len(seq) + 1, 3):
codon = seq[i: i + 3]
if codon in count:
count[codon] += 1
else:
count[codon] = 1
# Se tiver encontrado um stop codon, pare de iterar:
if codon in stops:
break
return count
seq = "GCGATCGAGATGAGCATCGCATCGCGGACTACCGCGCGCGCGCGCGGGAGATGAGCATCGACGACTCGACTAG"
print(contacodon(seq))
ZGVmIGNvbnRhY29kb24oc2VxKToKICAgICMgTGlzdGEgZGUgc3RvcCBjb2RvbnM6CiAgICBzdG9wcyA9IFsiVEFBIiwgIlRBRyIsICJUR0EiXQoKICAgIGNvdW50ID0ge30KICAgIGZvciBpIGluIHJhbmdlKHNlcS5maW5kKCdBVEcnKSwgbGVuKHNlcSkgKyAxLCAzKToKICAgICAgICBjb2RvbiA9IHNlcVtpOiBpICsgM10KICAgICAgICBpZiBjb2RvbiBpbiBjb3VudDoKICAgICAgICAgICAgY291bnRbY29kb25dICs9IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBjb3VudFtjb2Rvbl0gPSAxCgogICAgICAgICMgU2UgdGl2ZXIgZW5jb250cmFkbyB1bSBzdG9wIGNvZG9uLCBwYXJlIGRlIGl0ZXJhcjoKICAgICAgICBpZiBjb2RvbiBpbiBzdG9wczoKICAgICAgICAgICAgYnJlYWsKICAgIHJldHVybiBjb3VudAoKCnNlcSA9ICJHQ0dBVENHQUdBVEdBR0NBVENHQ0FUQ0dDR0dBQ1RBQ0NHQ0dDR0NHQ0dDR0NHR0dBR0FUR0FHQ0FUQ0dBQ0dBQ1RDR0FDVEFHIgpwcmludChjb250YWNvZG9uKHNlcSkpCg==
{'ATG': 1, 'AGC': 1, 'ATC': 1, 'GCA': 1, 'TCG': 1, 'CGG': 1, 'ACT': 1, 'ACC': 1, 'GCG': 2, 'CGC': 2, 'GGG': 1, 'AGA': 1, 'TGA': 1}