Условие: (№ 6050) (А. Богданов)
Текстовый файл 24-240.txt состоит не более чем из 10**6 символов и содержит только заглавные буквы латинского алфавита.
Найдите максимальную длину подстроки, не содержащей подстрок, отличающихся от «DANOV» лишь на одну букву.
s = open('24.txt').readline()
- открываем файл с именем "24.txt" и считываем первую строку из него, присваивая результат переменной s
.count = 4
- присваиваем переменной count
значение 4.Maxcount = 0
- присваиваем переменной Maxcount
значение 0.for i in range(0, len(s)-4):
- начинаем цикл, который будет выполняться для каждого значения i
в диапазоне от 0 до длины строки s
минус 4.if (int(s[i] == 'D') + int(s[i+1] == 'A') + int(s[i+2] == 'N') + int(s[i+3] == 'O') + int(s[i+4] == 'V')) == 4:
- проверяем, если сумма результатов сравнений символов s[i]
, s[i+1]
, s[i+2]
, s[i+3]
и s[i+4]
с соответствующими символами 'D', 'A', 'N', 'O' и 'V' равна 4.count = 4
- присваиваем переменной count
значение 4.else:
- в противном случае (если сумма не равна 4), выполняем следующие действия.count += 1
- увеличиваем значение переменной count
на 1.Maxcount = max(Maxcount, count)
- присваиваем переменной Maxcount
максимальное значение между текущим значением Maxcount
и count
.print(Maxcount)
- выводим значение переменной Maxcount
.s = open('24.txt').readline()
count = 4
Maxcount = 0
for i in range(0, len(s)-4):
if (int(s[i] == 'D') + int(s[i+1] == 'A') + int(s[i+2] == 'N') + int(s[i+3] == 'O') + int(s[i+4] == 'V')) == 4:
count = 4
else:
count += 1
Maxcount = max(Maxcount, count)
print(Maxcount)