擅长:python、mysql、java
<p>接收重复的原因是使用for循环并将n增加1,而不是将n移到上一帧的末尾:</p>
<pre><code># Calculates all open reading frames in protein sequence
n = 0
length = len(protein)
while n < length:
met = protein.find("M", n)
stop = protein.find("*", met)
if stop == -1: # Stop is beyond boundary of protein
break
orf = protein[met:stop]
print("Open reading frame starting at residue " + str(met+1) + " : " + orf)
n = stop + 1
</code></pre>