Форум » Обработка символьных строк » тип 24 №259 не сходится с ответом » Ответить

тип 24 №259 не сходится с ответом

L4043: [pre2] '''259) Текстовый файл 24-259.txt состоит не более чем из 106 символов и содержит только символы A, T, G, C. Найдите длину наибольшей цепочки символов, которая начинается с ATG, заканчивается на TAA и между этими группами символов не содержит цепочек TAA, TGA и TAG.''' with open ('259.txt') as f: s=f.readline() maxi=0 while s.count('ATG')!=0 and s.count('TAA')!=0: q1=s.find('ATG') s=s[q1:] q2=s.find('TAA') s1=s[:q2+3] s=s[q2:] if s1.count('TGA')==0 and s1.count('TAG')==0 and maxi<len(s1): maxi=len(s1) print(maxi,s1) print(maxi) [/pre2]

Ответов - 1

Ж: Ваш код работает верно, если поправить одну строку if s1[3:-3:].count('TGA')==0 and s1[3:-3:].count('TAG')==0 and maxi<len(s1): Вот еще одни код. С ответом сходится Вот строка: ATGAATATCTACGGGCTTTGCACGGGATTTTCCTACTCCCGTGTGCACATATGTTGGGGATCGAATGGTTGTTATGCGGAACATCATGGTCGGGGGAAGCGATTCTCTACAAAAACGTCTATAA [pre2] s=open('c:/1.txt').readline() maxi=0 for i in range(1,len(s) ): ss = s[i:] if 'ATG' in ss and 'TAA' in ss: ss=ss[ss.index('ATG'):ss.index('TAA')+3] if 'TAA' not in ss[3:-3] and 'TGA' not in ss[3:-3] and 'TAG' not in ss[3:-3]: if len(ss)>maxi: maxi=max(maxi,len(ss)) print(f'нашлась строка длины {len(ss)} : {ss} ') [/pre2]



полная версия страницы