Текстовый файл 7.txt содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых нет пар символов и AG и TN одновременно.
f = open(’24_5.txt’)
s = f.readline()
a = max(map(len,s.replace(’AG’,’A G’).split())) #без пары AG
b = max(map(len,s.replace(’TN’,’T N’).split())) #без пары TN
print(max(a,b))
Второй способ решения
s = open(’24_5.txt’).readline()
c = mx = 1
count_AG = 0
count_TN = 0
for i in range(len(s)-1):
if s[i] + s[i+1] != ’AG’ and s[i] + s[i+1] != ’TN’:
c += 1
mx = max(mx,c)
if s[i] + s[i+1] == ’AG’:
if count_TN == 0:
c += 1
count_AG += 1
mx = max(mx,c)
else:
mx = max(mx,c)
c = 1
count_AG = 0
count_TN = 1
if s[i] + s[i + 1] == ’TN’:
if count_AG == 0:
c += 1
count_TN += 1
mx = max(mx, c)
else:
mx = max(mx, c)
c = 1
count_AG = 1
count_TN = 0
print(mx)
Ответ: 5830