# If (i+3) < len(dna)

#1

I am wondering if this part is correct.

``````if (i+3) < len(dna):
``````

Shouldn’t it be?

``````if (i+3) <= len(dna):
``````

If the DNA string is of length 12, as in “1234567890ab”, then

``````range(0,len(dna),3))
``````

would create `[0,3,6,9]`

When it checks `if (i+3) < len(dna)`, when `i=9`, `i+3=12` and thus would NOT meet the condition of the `if` statement (`12 < 12` evaluates to `False`). But, the `dna[9]` corresponds to the ‘0’ in the DNA string and still needs to be included. Therefore, the append statement doesn’t execute and the last three characters `["0ab"]` in the string don’t get appended to the list (the resulting list being `["123","456","789"]` instead of `["123","456","789","0ab"]`

Am I missing something here?

#2

I think I’ve confirmed that you need the extra `=`. If you modify the suspect1.txt file and change the last codon to one that is in the sample, it will not catch this match.

#3

Please remember to include a link to the exercise so we can test it. Thanks.

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.