24.02 Поиск символа/строки по частоте
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов X, Y и Z.
Определите самый часто встречающийся в этом файле символ и четную максмальную длину подстроки, состоящей только из этого символа, ограниченную любыми другими символами.
Также определите самый редко встречающийся в этом файле символ и нечечтную максмальную длину подстроки, состоящей только из этого символа, ограниченную любыми другими символами.
В ответе запишите сначала первую найденную длину, затем через пробел второую.
f = open(’24.txt’) s = f.readline() # Считываем строчку # Определяем, сколько в ней символов X, Y и Z: print(’X:’, s.count(’X’), ’Y:’, s.count(’Y’), ’Z:’, s.count(’Z’)) # Получаем X: 500019 Y: 333396 Z: 166585 # X - самый часто встречающийся в файле символ # Z - самый редко встречающийся в файле символ # Сначала найдём четную максимальную длину подстроки, состоящей из символа X s1 = s.replace(’Y’, ’Z’) # Заменяем все символы Y на символы Z s1 = s1.split(’Z’) # Разбиваем строчку по символу Z # Каждый элемент массива s1 (строчки, состоящие из символов X, и пустые строчки) # превращаем в их длину. # То есть, если была строчка ’XXXXX’, то станет просто число 5. s1 = list(map(len, s1)) mc = max([i for i in s1 if i % 2 == 0]) # Составляем массив mc только из чётных длин массива s1 # и берём максимальную # Найдём нечетную максимальную длину подстроки, состоящей из символа Z s2 = s.replace(’Y’, ’X’) # Заменяем все символы Y на символы X s2 = s2.split(’X’) # Разбиваем строчку по символу X # Каждый элемент массива s2 (строчки, состоящие из символов Z, и пустые строчки) # превращаем в их длину. s2 = list(map(len, s2)) mnc = max( [i for i in s2 if i % 2 == 1]) # Составляем массив mnc только из нечётных длин массива s1 # и берём максимальную # Выводим найденные длины print(mc, mnc)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!