所以,我正在尝试制作一个python程序,它接收DNA序列,如
ATAAAAAGCGTAAGCATTGGCATCATTTGCAGCATACTCAAGCCATTTTTCAGCCAGCTCGGGCTCTTTT GTATATTTCGAGGCAACCCAGCCCTTCCCGCCAGCAAAAGGGGCGTATTCTTCTCCATTTGGCAATGTCG GAATGG
作为输入,我需要它识别序列中的模式,比如说“GGCAT”,我需要程序返回“GGCAT已在序列中找到(多次)”。 我试过了
print ("Pattern recognition system.")
option=input("Insert DNA sequence")
def PatternCount(Text, Pattern):
count=0
for i in range(0, len(text)-len(pattern)+1):
if text[i:len(pattern+i)]== pattern:
count=count+1
return count
但我不认为这是解决问题的方法,我在上一篇文章中看到过,但我得到了错误代码,在单语句smth时发现了多个语句。 有没有办法让这一切发生
像这样的怎么样:
str.find()
方法在字符串中查找模式str.replace(Pattern, '', 1)
方法将模式的第一个匹配项替换为空字符串(将1作为计数传递使其仅替换第一个匹配项)find()
返回-1并每次递增count
李>守则:
在你的职能上,
我看得出来
if
条件中len(pattern+i)
的语法不正确。因为pattern是字符串,i是整数。它应该是len(pattern)+i
请试试这个:
相关问题 更多 >
编程相关推荐