Автор | Сообщение |
|
Отправлено: 15.06.23 23:54. Заголовок: #6525
Как я понимаю, ответ неверный. Ибо если в формуле белка нет стоп-триады, то если заменить стоп-триаду на # и сплитануть, то в каком-то из эдементов этого списка будет находиться формула этого самого белка. Однако максимальная длина элемента почти в 10 раз меньше ответа. with open('24-258.txt') as f: s = f.readline() s = s.replace('ATGTTT', '*') s = s.replace('ACATAA', '$') s = s.replace('TAA', '#') s = s.replace('TGA', '#') s = s.replace('TAG', '#') s = s.split('#') maxx = max(map(len, s)) print(maxx)
|
|
|
Ответов - 1
[только новые]
|
|
|
Отправлено: 22.06.23 12:03. Заголовок: Ответ верен Триады и..
Ответ верен Триады идут именно тройками, а вы заменяете их не на местах троек, а где придется. Вот тут, к примеру: ATGTTAT TGATTTTTCTTGTTTTATTGCCACTAGTCTC s=open('c:/24-258.txt').readline() ma=j=0 for i in range(len(s)): if s[i:i+6]=='ATGTTT' : j=i+6 while j<=len(s): if s[j:j+3] not in ['TAA', 'TGA', 'TAG'] : j+=3 else: b=s[i:j+3] if b[-6::]=='ACATAA' and ma< len(b): ma=max(ma,len(b)) print(i,ma//3,s[i:i+ma]) break
|
|
|