Задача к ЕГЭ по информатике на тему «поиск символа/строки по частоте» №2

Текстовый файл 13.txt состоит не более чем из 106  заглавных латинских букв (A..Z). Файл разбит на строки различной длины.Необходимо найти строку, содержащую наибольшее количество букв O (если таких строк несколько, надо взять ту, которая в файле встретилась раньше). Определите, какая гласная буква, стоящая после согласной, встречается в этой строке чаще всего. Если таких букв несколько, надо взять ту, которая стоит раньше в алфавите. Запишите в ответе эту букву, а затем – сколько раз она встречается во всем файле.

Примемание: в латинском алфавите 6 гласных A, E, I, O, U, Y, остальные буквы согласные.

f = open(’C:/2413.txt’)
a = f.readlines()

# Ведём поиск строки,
# в которой буква O встречается чаще
mx = 0
ms = ’’
for s in a:
    if s.count(’O’) > mx:
        mx = s.count(’O’)
        ms = s

# Ищем букву,
# которая встречается после согласной чаще всего
mx = 0
b = ’’
abc1 = ’AEIOUY’
abc2 = ’BCDFGHJKLMNPQRSTVWXZ’
for j in abc1:
    c = 0
    for k in abc2:
        c += ms.count(k+j)
    if c > mx:
        mx = c
        b = j

# Ищем, сколько раз в файле встречается эта буква
c = 0
for s in a:
    c += s.count(b)

print(b, c)

Ответ: O38316
Оцените статью
Я решу все!