Я только недавно начал использовать python, и я очень плохо знаком с python и программированием в целом, и я нахожусь в классе, где нам дали задание найти функцию в Python, которая берет две строки последовательности ДНК (скажем,string1 и string2) в качестве входных данных и возвращает список позиций, в которых string2 присутствует в качестве подстроки string1.И так как мы должны познакомиться с тем, как работает кодирование, мы не можем использовать встроенную функцию «найти».Я действительно запутался в том, как вообще начать эту проблему.Но это то, что у меня пока есть:
def linear(seq, sub):
positions = [0]
for i in range(len(sub)):
if seq[i:i+len(sub)] == sub:
positions[0]+=1
return( positions )
Я получаю сообщение об ошибке, когда я вставляю это, но я должен получить список позиций, где встречается подстрока.Если кто-то может направить меня в каком направлении я должен идти, это было бы очень полезно.
Например, если последовательность 'ATTCCATGGACCTAGTCAT' и подстрока, которую я хочу найти, это 'CAT', тогда вывод должен быть [5,17]