Текстовый файл 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=’’)