This media is not supported in your browser
VIEW IN TELEGRAM
s = open('24.txt').readline()
s = s.split('U')
mini = 999999
for i in range(len(s)-108):
r = 'U'.join(s[i:i+109])
mini = min(mini, len(r))
print(mini + 2)
Файлы к заданию: 24.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
s = open('24.txt').readline().split('T')
maxi = 0
for i in range(len(s)-100):
r = 'T'.join(s[i:i+101])
maxi = max(maxi, len(r))
print(maxi)
Файлы к заданию: 24.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
from string import *
alphabet = digits + ascii_uppercase
print(alphabet)
s = open('24.txt').readline()
maxi = 0
for a in alphabet:
s = s.replace(f'{a}', f'{a} {a}')
if maxi < max([len(x) for x in s.split()]):
maxi = max([len(x) for x in s.split()])
print(a, maxi)
s = s.replace(f'{a} {a}', f'{a}')
print(maxi)
Файлы к заданию: 24.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Статград
Уровень: Средний
Определите максимальную длину непрерывного фрагмента, который начинается и заканчивается одной и той же буквой из первой половины алфавита (от A до M) и не содержит эту букву внутри.
s = open('24.txt').readline()
maxi = 0
for a in 'ABCDEFGHIJKLM':
s = s.replace(a, f'{a} {a}')
maxi = max(maxi, max([len(x) for x in s.split()]))
s = s.replace(f'{a} {a}', a)
print(maxi)
# Ответ: 322
s = open('24.txt').readline()
Чтение строки из файла '24.txt' и присвоение её содержимого переменной s.
maxi = 0
Инициализация переменной maxi со значением 0, которая будет использоваться для хранения максимальной длины строки.
for a in 'ABCDEFGHIJKLM':
Начало цикла по буквам из строки 'ABCDEFGHIJKLM'.
s = s.replace(a, f'{a} {a}')
Замена каждого вхождения буквы a в строке s на a a.
maxi = max(maxi, max([len(x) for x in s.split()]))
Обновление переменной maxi, выбирая максимальное значение между текущим значением maxi и максимальной длиной слова из разделенной строки s.
s = s.replace(f'{a} {a}', a)
Восстановление оригинальной строки, заменяя a a на a.
print(maxi)
Вывод значения maxi, которое содержит максимальную длину слова после обработки всеми буквами из цикла.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: (Е.Джобс)
Уровень: Средний
Сколько пар символов в строке являются симметричными? Симметричной парой называют такие два символа, которые расположены на одинаковом удалении от концов строки.
s = open('24.txt').readline()
cnt = 0
for i in range(len(s) // 2):
if s[i] == s[-1-i]:
print(s[i], s[-1-i])
cnt += 1
print(cnt)
# Ответ: 19100
s = open('24.txt').readline()
Чтение строки из файла "24.txt" и помещение этой строки в переменную s.
cnt = 0
Инициализация переменной cnt для подсчета количества пар символов, которые совпадают в строке.
for i in range(len(s) // 2):
Цикл for, который проходит по половине длины строки s. Это делается для сравнения символов симметрично относительно центра строки.
if s[i] == s[-1-i]:
Проверка условия: если символ на позиции i равен символу на позиции -1-i (то есть симметрично расположенные символы равны).
print(s[i], s[-1-i])
Вывод на экран пары символов, которые совпадают симметрично.
cnt += 1
Увеличение счетчика cnt на 1 при каждом совпадении пары символов.
print(cnt)
Вывод общего количества пар совпадающих символов в строке.
В голосовом оставлю мини-комментарий к коду решения этой программы
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: ЕГКР 27.04.24
Уровень: Базовый
В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов KLMN в указанном порядке, при этом в начале и в конце искомой последовательности группа символов KLMN может быть неполной.
Файл оставлю в комментариях
Аудио с пояснением к коду решения оставлю в комментариях.
s = open('24.txt').readline()
count = 3
maxi = 0
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
count += 1
maxi = max(maxi, count)
else:
count = 3
print(maxi)
# Ответ: 182
s = open('24.txt').readline()
Чтение строки из файла "24.txt" и сохранение ее в переменную s.
count = 3
Инициализация переменной count со значением 3, которая будет использоваться для подсчета последовательности.
maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.
for i in range(len(s)-3):
Цикл, перебирающий индексы от 0 до len(s)-4 для итерации по всем четверным подстрокам строки s.
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
Проверка, содержится ли текущая четверная подстрока строки s в заданных последовательностях 'KLMN', 'LMNK', 'MNKL' или 'NKLM'.
count += 1
Увеличение значения переменной count на 1, если найдена подходящая четверная последовательность.
maxi = max(maxi, count)
Обновление значения переменной maxi на максимальное из текущего значения и count.
else:
В случае, если текущая четверная подстрока не соответствует заданным последовательностям:
count = 3
Сброс значения переменной count до 3 для начала подсчета заново.
print(maxi)
Вывод максимального количества найденных последовательностей заданного типа в строке s после завершения цикла.
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: А. Богданов
Уровень: Средний
Файл разбит на строки различной длины. Определите максимальную длину цепочки символов, состоящей из повторяющихся фрагментов XYZ.
s = open('24.txt').readlines()
maxi = 0
for x in s:
count = 2
for i in range(len(x)-2):
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
count += 1
maxi = max(maxi, count)
else:
count = 2
print(maxi)
# Ответ: 53
s = open('24.txt').readlines()
Чтение всех строк из файла "24.txt" и сохранение их в виде списка строк в переменную s.
maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.
for x in s:
Цикл, который перебирает строки из списка s для анализа каждой строки отдельно.
count = 2
Инициализация переменной count со значением 2, которая будет использоваться для подсчета последовательности в текущей строке.
for i in range(len(x)-2):
Внутренний цикл, который перебирает индексы от 0 до длины строки x минус 2 для итерации по каждой тройной подстроке в текущей строке.
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
Проверка условия: если текущая тройная подстрока x присутствует в кортеже заданных строк 'XYZ', 'YZX' или 'ZXY'.
count += 1
Увеличение значения переменной count на 1, если найдена подходящая тройная последовательность.
maxi = max(maxi, count)
Обновление значения переменной maxi на большее из текущего значения и count.
else:
В случае, если текущая тройная подстрока не соответствует заданным последовательностям:
count = 2
Сброс значения переменной count на 2 для начала подсчета заново в текущей строке.
print(maxi)
Вывод наибольшего значения переменной maxi.
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Е. Джобс
Уровень: Средний
Текстовый файл состоит из символов T, U, V, W, X, Y и Z.
Определите в прилагаемом файле максимальную длину подстроки, состоящую из пар символов XX, YY или ZZ в произвольном порядке, при этом ни одна пара не должна повторяться два раза подряд.
Аудио с пояснением к коду решения оставлю в комментариях.
s = open('24.txt').readline()
for a in 'TUVW':
s = s.replace(a, ' ')
for a in 'XYZ':
while a*4 in s:
s = s.replace(a*4, f'{a*2} {a*2}')
while a*3 in s:
s = s.replace(a*3, f'{a*2} {a*2}')
print(max([len(x) for x in s.split()]))
print(max(map(len, s.split())))
# Ответ: 52
s = open('24.txt').readline()
Чтение первой строки из файла "24.txt" и сохранение ее содержимого в переменную s.
for a in 'TUVW':
Цикл, который перебирает символы 'T', 'U', 'V', 'W' для замены их на пробел в строке s.
s = s.replace(a, ' ')
Замена каждого символа 'T', 'U', 'V', 'W' на пробел в строке s.
for a in 'XYZ':
Цикл, который перебирает символы 'X', 'Y', 'Z' для выполнения дополнительных преобразований в строке s.
while a*4 in s:
Пока последовательность из 4 символов a присутствует в строке s.
s = s.replace(a*4, f'{a*2} {a*2}')
Замена последовательности из 4 символов a на строку, состоящую из 2 символов a, пробела и еще 2 символов a.
while a*3 in s:
Пока последовательность из 3 символов a присутствует в строке s.
s = s.replace(a*3, f'{a*2} {a*2}')
Замена последовательности из 3 символов a на строку, состоящую из 2 символов a, пробела и еще 2 символов a.
print(max([len(x) for x in s.split()]))
Вывод максимальной длины слова после разделения строки s по пробелам и определения максимальной длины с помощью List Comprehension.
print(max(map(len, s.split())))
Еще одна аналогичная запись.
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Ссылка на полную версию шпаргалки/методички на Notion.
Поставь
s = open('24.txt').readline()
s = s.replace('1', '2').replace('W', 'R')
print(max([len(x) for x in s.split()]))
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
Текстовый файл состоит из заглавных букв латинского алфавита А, B, C, D, E и F.
Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов DE (в указанном порядке) встречается не более 240 раз.
Для выполнения этого задания следует написать программу.
s = open('24.txt').readline()
s = s.replace('DE', 'D E').split()
maxi = -1
for i in range(len(s)):
r = ''.join(s[i:i+241])
maxi = max(maxi, len(r))
print(maxi)
1.
s = open('24.txt').readline()
Чтение строки из файла '24.txt' и сохранение этой строки в переменной `s`.
2.
s = s.replace('DE', 'D E').split()
Замена подстроки 'DE' на 'D E' в строке `s` с последующим разделением строки на список слов.
3.
maxi = -1
Инициализация переменной `maxi` c начальным значением -1 для хранения максимальной длины подстроки.
4.
for i in range(len(s)):
Цикл `for`, который проходит по индексам элементов в списке `s`.
5.
r = ''.join(s[i:i+241])
Создание строки `r`, объединив элементы списка `s` от индекса `i` до индекса `i+241`.
6.
maxi = max(maxi, len(r))
Обновление переменной `maxi` значением, равным максимуму между текущим значением `maxi` и длиной строки `r`.
7.
print(maxi)
Вывод наибольшей длины строки `r` из всех подстрок в переменной `s`.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Л. Шастин, Вариант 7 (2024)
Уровень: Средний
Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых никакая гласная буква не стоит раньше согласной.
Примечание. Гласные буквы латинского алфавита: A, E, I, O, U, Y.
Аудио с пояснением к коду решения оставлю в комментариях.
s = open('24.txt').readline()
for x in 'AEIOUY':
s = s.replace(x, '* ')
print(max([len(x) for x in s.split()]))
# Ответ: 9052
1️⃣
s = open('24.txt').readline()
Считываем первую строку из файла '24.txt' и сохраняем ее в переменную s
2️⃣
for x in 'AEIOUY':
Начинаем цикл, который будет поочередно обрабатывать каждую букву из строки 'AEIOUY'
3️⃣
s = s.replace(x, '* ')
Заменяем каждую гласную букву x в строке s на комбинацию символов '* '
4️⃣
print(max([len(x) for x in s.split()]))
Разбиваем строку s по пробелам, находим длину каждого полученного фрагмента и выводим максимальную длину этих фрагментов
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Решу ЕГЭ
Уровень: Базовый
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.
Этот номер очень удобно решается через замену всех "лишних" элементов.
s = open('files/24.txt').readline()
s = s.replace('AB', '*').replace('CB', '+')
for x in 'ABC':
s = s.replace(x, ' ')
print(max([len(x) for x in s.split()]))
print(len(max(s.split(), key=len)))
# Ответ: 65
s = open('files/24.txt').readline()
- Открывает файл с именем 'files/24.txt' и читает первую строку из этого файла, затем сохраняет её в переменную s.
s = s.replace('AB', '*').replace('CB', '+')
- Заменяет все вхождения 'AB' в строке Услона символ '*', затем заменяет все вхождения 'CB' на символ '+'.
for x in 'ABC':
- Инициализирует цикл, который будет последовательно проходить через каждую букву в строке 'ABC'.
s = s.replace(x, ' ')
- Для каждой буквы x в строке 'ABC', заменяет все её вхождения в строкеЭ24
Ана пробелы.
print(max([len(x) for x in s.split()]))
- Разделяет строку s на части (слова), используя пробелы как разделители, затем вычисляет длину каждой части и выводит максимальную из них.
print(len(max(s.split(), key=len)))
- Так же, как предыдущая строка, разделяет строку s на части (слова), используя пробелы в качестве разделителей, и затем находит и выводит длину самой длинной части в строке.
Наша Stepik подборкой задач
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: kompege.ru
Уровень: Средний
Текстовый файл состоит из символов A, B, C, D и E.
Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых комбинация символов AB встречается ровно 50 раз.
Важно после разбиения не забыть добавить по одному элементу справа и слева к строке r, так как мы удаляем пары символов, а отдельные символы должны оставить.
s = open('0. files/24.txt').readline()
s = s.split('AB')
maxi = 0
for i in range(len(s)-50):
r = 'B' + 'AB'.join(s[i:i+51]) + 'A'
maxi = max(maxi, len(r))
print(maxi)
# Ответ: 10128
s = open('0. files/24.txt').readline()
# Открываем файл '0. files/24.txt' и читаем первую строку.
s = s.split('AB')
# Разделяем строку на подстроки по разделителю 'AB' и сохраняем результат в список.
maxi = 0
# Инициализируем переменную maxi, которая будет содержать максимальную длину найденной строки.
for i in range(len(s)-50):
# Запускаем цикл, который будет проходить по индексам списка s от 0 до длины списка минус 50.
r = 'B' + 'AB'.join(si:i+51) + 'A'
# Формируем новую строку r, представляющую собой соединение элементов списка s от текущего индекса i до i+50 с добавлением 'B' в начале и 'A' в конце.
maxi = max(maxi, len(r))
# Обновляем значение maxi, если длина текущей строки r больше предыдущего значения maxi.
print(maxi)
# Выводим максимальную длину строки, соответствующую заданным условиям.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10 4❤🔥2 2
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Шастин Л
Уровень: Средний
Текстовый файл состоит из символов A, C, D, F и O.
Определите максимальное количество идущих подряд символов, среди которых не более 5 пар вида согласная + гласная в прилагаемом файле.
Чуть более сложная версия прошлой задачи.
s = open('0. files/24.txt').readline()
s = s.replace('C', 'D').replace('F', 'D')
s = s.replace('O', 'A')
s = s.split('DA')
maxi = 0
for i in range(len(s)-5):
r = 'A' + 'DA'.join(s[i:i+6]) + 'D'
maxi = max(maxi, len(r))
print(maxi)
Ответ: 27
s = open('24.txt').readline()
Открываем файл '0. files/24.txt' и читаем первую строку.
s = s.replace('C', 'D').replace('F', 'D')
Заменяем символы 'C' и 'F' на 'D' во всей строке.
s = s.replace('O', 'A')
Заменяем символ 'O' на 'A' во всей строке.
s = s.split('DA')
Разделяем строку на подстроки по разделителю 'DA' и сохраняем результат в список.
maxi = 0
Инициализируем переменную maxi для хранения максимальной длины найденной строки.
for i in range(len(s)-5):
Запускаем цикл по индексам списка s от 0 до длины списка минус 5.
r = 'A' + 'DA'.join(si:i+6) + 'D'
Формируем новую строку r, соединяя элементы списка s от текущего индекса i до i+5 с добавлением 'A' в начале и 'D' в конце.
maxi = max(maxi, len(r))
Обновляем значение maxi, если длина текущей строки r больше предыдущего значения maxi.
print(maxi)
Выводим максимальную длину строки, соответствующую условиям задачи.
Второй канал про теорию Python
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤🔥9 5 4 1
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: PRO100 ЕГЭ
Уровень: Сложный
Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых комбинация символов RO встречается ровно 21 раз, а комбинации символов ORO и ROR ни разу не встречаются.
Если ORO и ROR найдутся в строке, то не нужно отсеивать все строку - необходимо разбить ее и исследовать подстроки по отдельности!
s = open('0. files/24.txt').readline()
s = s.split('RO')
maxi = 0
for i in range(len(s)-21):
r = 'O' + 'RO'.join(s[i:i+22]) + 'R'
if 'ROR' in r or 'ORO' in r:
r = r.replace('ROR', 'RO OR')
r = r.replace('ORO', 'OR RO')
maxi = max(maxi, max([len(x) for x in r.split()]))
print(maxi)
Ответ: 814
s = open('24.txt').readline()
s = s.split('RO')
maxi = 0
for i in range(len(s)-21):
r = 'O' + 'RO'.join(si:i+22) + 'R'
if 'ROR' in r or 'ORO' in r:
r = r.replace('ROR', 'RO OR')
r = r.replace('ORO', 'OR RO')
maxi = max(maxi, max(len(x) for x in r.split()))
print(maxi)
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8 6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
14513
#kege по информатике #ЕГЭ24Автор: Л. Шастин
Уровень: Базовый
Назовём маской образец строки, который строится на основании служебных знаков # и &, причём знак # обозначает непустую последовательность из идущих подряд букв, а знак & задает непустую последовательность из идущих подряд цифр.
Определите в прилагаемом файле максимальную длину подстроки, которая соответствует маске #&#.
Очень понравилась эта задача, идея решения заключается в приведении всех букв к одному символу и всех цифр к другому символу. Затем разбиваем полученную последовательность на пары, разделенные пробелами, и убираем лишние цифры справа, после чего находим самую длинную строку.
from string import *
maxi = 0
s = open('0. files/24.txt').readline()
for x in digits:
s = s.replace(x, '&')
for x in ascii_uppercase:
s = s.replace(x, '#')
s = s.replace('&#', '& #')
s = s.split()
for i in range(len(s)-1):
r = ''.join(s[i:i+2])
while r[-1] == '&':
r = r[:-1]
maxi = max(maxi, len(r))
print(maxi)
Ответ: 49
from string import *
maxi = 0
s = open('24.txt').readline()
for x in digits:
s = s.replace(x, '&')
for x in ascii_uppercase:
s = s.replace(x, '#')
s = s.replace('&#', '& #')
s = s.split()
for i in range(len(s)-1):
r = ''.join(s[i:i+2])
while r[-1] == '&':
r = r[:-1]
maxi = max(maxi, len(r))
print(maxi)
Наша Stepik подборкой задач
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤10🔥3 3👍1
Автор: Досрочная волна 2025
Уровень: Базовый
Текстовый файл состоит из символов, обозначающих десятичные цифры и заглавные буквы латинского алфавита.
Определите в прилагаемом файле максимальное количество идущих подряд символов, которые могут представлять запись чётного числа в двенадцатеричной системе счисления. В этой записи отсутствуют незначащие (ведущие) нули.
Регулярные выражения стали еще одним шагом ФИПИ к усложнению 24 номера, поэтому на канале постараюсь почаще публиковать решения через библиотеку re.
Обратите внимание на строчку номер 8 - настоятельно рекомендую не пропускать этот шаг, чтобы визуально можно было проверить вывод своей программы!
from re import *
s = open('0. files/24.txt').readline()
num = r'([1-B][0-B]*[02468A]|[0-B])'
M = [x.group() for x in finditer(num, s)]
maxi = 0
for x in M:
maxi = max(maxi, len(x))
print(x)
print(maxi)
Ответ: 19
from re import *
Импортирует все функции из модуля регулярных выражений re.
s = open('24.txt').readline()
Открывает файл '24.txt', считывает первую строку и сохраняет её в переменную s.
num = r'([1-B][0-B]*[02468A]|[0-B])'
Создаёт шаблон регулярного выражения, который ищет либо последовательность, начинающуюся с символа от 1 до B, содержащую любое количество символов от 0 до B и заканчивающуюся чётным символом (0,2,4,6,8,A), либо одиночный символ от 0 до B.
M = [x.group() for x in finditer(num, s)]
Находит все совпадения с шаблоном num в строке s и создаёт список M из найденных совпадений, используя генератор списка и метод group().
maxi = 0
Инициализирует переменную maxi значением 0 для хранения максимальной длины найденной последовательности.
for x in M:
Начинает цикл, который перебирает все найденные последовательности в списке M.
maxi = max(maxi, len(x))
Обновляет значение maxi, выбирая максимум между текущим значением maxi и длиной текущей последовательности x.
print(x)
Выводит текущую последовательность x на экран.
print(maxi)
После завершения цикла выводит максимальную длину найденной последовательности.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥4❤3🫡2
Автор: ЕГКР
Уровень: Базовый
Текстовый файл состоит из символов F, G, Q, R, S и W. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока FSRQ встречается ровно 80 раз.
Аудио с пояснением к коду решения оставлю в комментариях.
s = open('0. files/24.txt').readline()
s = s.split('FSRQ')
maxi = 0
for i in range(len(s)-80):
r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
maxi = max(maxi, len(r))
print(maxi)
Ответ: 2379
s = open('0. files/24.txt').readline()
Открываем файл 24.txt из папки 0. files и читаем первую строку, сохраняя её в переменную s
s = s.split('FSRQ')
Разбиваем строку s на список подстрок, используя разделитель 'FSRQ'
maxi = 0
Инициализируем переменную maxi для хранения максимальной длины найденной подстроки
for i in range(len(s)-80):
Запускаем цикл по индексам списка s, оставляя запас в 80 элементов для обработки последующих 81 элементов
r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
Формируем строку r, соединяя 81 подстроку из списка s с разделителем 'FSRQ', добавляя префикс 'SRQ' и суффикс 'FSR'
maxi = max(maxi, len(r))
Обновляем maxi, если длина строки r больше текущего значения maxi
print(maxi)
Выводим максимальную найденную длину строки r
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5❤2🔥2
Определите в прилагаемом файле последовательность идущих подряд символов наибольшей длины, в которой символ D встречается 1 раз и он находится в начале, а также содержится 50 цифр. В ответе запишите длину найдённой последовательности.
f = open('24.txt').readline()
for i in '0123456789':
f = f.replace(i, '1')
f = f.split('D')
M = [len(x) for x in f if x.count('1') == 50]
print(max(M)+1)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤6❤🔥5
Автор: Л.Шастин
Уровень: Средний
Текстовый файл состоит из символов, обозначающих буквы латинского алфавита A, В и С и цифры 1 и 8.
Определите в прилагаемом файле максимальную длину подстроки, которая начинается и заканчивается на разные цифры, включает в себя равное количество букв B и C и не содержит других цифр, кроме первой и последней.
Для выполнения этого задания следует написать программу.
s = open('0. files/24.txt').readline()
s = s.replace('1', '1 1').replace('8', '8 8')
maxi = 0
for x in s.split():
if x.count('1') == 1:
if x.count('B') == x.count('C'):
maxi = max(maxi, len(x))
print(maxi)
Ответ: 1315
s = open('0. files/24.txt').readline()
• Открываем файл '0. files/24.txt' и читаем первую строку, сохраняя её в переменную s
s = s.replace('1', '1 1').replace('8', '8 8')
• Заменяем каждый символ '1' на '1 1' и каждый символ '8' на '8 8', удваивая их и добавляя пробелы между ними
maxi = 0
• Инициализируем переменную maxi для хранения максимальной длины подходящей строки
for x in s.split():
• Разбиваем строку s на список подстрок по пробелам и начинаем перебирать каждую подстроку в цикле
if x.count('1') == 1:
• Проверяем, что текущая подстрока x содержит ровно один символ '1'
if x.count('B') == x.count('C'):
• Проверяем, что количество символов 'B' равно количеству символов 'C' в текущей подстроке
maxi = max(maxi, len(x))
• Если оба условия выше выполнены, обновляем maxi, сохраняя максимальное значение между текущим maxi и длиной подстроки x
print(maxi)
• Выводим максимальную длину подходящей подстроки, найденную в результате работы программы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍2🔥2