這個程序應該找到一個字符串在什麼地方開始(在「ATG」)並切片直到結束點(在「TAG」,「TAA」或「TGA」)。每當我嘗試使用我創建的函數和提供的測試字符串計算lastIndex時,我連續收到-1作爲索引。是否有Python函數拋出或忽略負值?是否有一個拋棄或忽略負值的Python函數?
genome = 'TTATGTTTTAAGGATGGGGCGTTAGTT'
newGenome = ''
def firstIndex(genome):
return genome.find("ATG")
def lastIndex(genome):
return min(genome.find("TAG"), genome.find("TAA"), genome.find("TGA"))
for i in range(genome.count("ATG")):
newgenome = genome[firstIndex(genome):lastIndex(genome)]
我懷疑一個正則表達式會比較好,例如('ATG。*?(?: TAG | TAA | TGA)',基因組):print s.group(0)'會打印ATGTTTTAA和ATGGGGCGTTAG。 –