Текстовый файл состоит не более чем из заглавных латинских букв (A..Z). Гласными буквами считаются буквы A, E, I, O, U, Y. Текст разбит на строки различной длины. Необходимо найти строку, с самой длинной подстрокой, состоящей только из согласных букв. Если таких строк несколько, то нужно взять ту, что встретилась раньше в файле. Определите какая гласная буква встречается реже всего в данной строке (если таких букв несколько, то возьмите ту, что встречается позже в алфавите). Запишите в ответ эту букву, а затем через пробел — количество раз сколько она встречается в файле.
f = open(’24_M5.txt’)
mx = 0
temp_str = ’’#строка,в которую мы будем сохранять строку, подходящую по условию
count_A = 0
soglas = ’QWRTPSDFGHJKLZXCVBNM’
for i in range(1000):
s = f.readline()
c = 0
count_A += s.count(’A’)#после того как определили букву,
#считаем, сколько раз она встретилась в файле.
for j in range(len(s)):
if s[j] in soglas:#если текущий символ является согласной
c += 1#то увеличиваем счётчик
if c > mx:#если счётчик больше mx
mx = c#то перезаписываем mx
temp_str = s# в temp_str указываем текущую строку
else:#в ином случае
c = 0#обнуляем счётчик
d = {x:temp_str.count(x) for x in sorted(’AEUIOY’)}
#словарь, в котором в качестве ключа указана гласная буква,
#а в качестве значения - сколько раз она встречается в temp_str
print([x for x in d.keys() if d[x] == min(d.values())])#определяем букву, которая встречается реже всего
print(count_A)
Ответ: A 36465