Тема 24. Обработка символьной информации

24.03 Прочие прототипы

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка символьной информации
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#23396

Текстовый файл words.txt содержит только заглавные буквы латинского алфавита (ABC...Z). Текст разбит на строки различной длины. Необходимо найти строку, содержащую наибольшее количество пар соседних букв, которые стоят в обратном алфавитном порядке (например, BA, CB, DC и т.д.; в цепочке CBA две таких пары). Если таких строк несколько, надо взять ту, которая в файле встретилась позже.

Выведите максимальное количество пар, встреченных среди всех строк, а также букву из данной строки, которая встречается чаще всего. Если таких букв несколько, вывести ту, что идет позже по алфавиту.

Пример. Исходный файл:

ZCQBAA

ZAMLZZ

CRACTU

В этом примере в первой и второй строках по одной подходящей паре (BA и ML), в третьей таких пар нет. Берём вторую строку, т.к. она позже встречается в файле. В этой строке чаще других встречается буква Z. В ответе для этого примера надо записать 1Z.

Вложения к задаче
Показать ответ и решение
f = open("words.txt")

maxim = 0
ind = 0
lines = file.readlines()
for i in range(len(lines)):
    line = lines[i]
    count = 0
    for j in range(len(line) - 1):
        if ord(line[j]) == (ord(line[j + 1]) + 1):
            count += 1
            if count >= maxim:
                maxim = count
                ind = i

num = 0
symb = ""
alf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in alf:
    if lines[ind].count(i) >= num:
        num = lines[ind].count(i)
        symb = i
print(maxim, symb, sep=’’)

Ответ: 32G

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!