Определите максимальное количество идущих подряд символов, среди которых нет ни одной буквы E и при этом не менее трёх букв A
Ответы (2 шт):
Автор решения: maestro
→ Ссылка
f = open("24.txt") # открываем файл, можно как вы с помощью контекстногоменеджера, но в рамках егэ не имеет значение
s = f.readline() # считываем строку(она одна единственная)
lst = s.split("E") # разделяем строку по символу Е(символ Е пропадает)
# например было ASDSAEASDA станет ['ASDSA', 'ASDA']
# выкидываем где А меньше 3
new_lst = []
for x in lst:
if x.count("A") > 3:
new_lst.append(x)
# можно проще, но сложнее в понимании
# new_lst = filter(lambda x: x.count("A") > 3, lst)
# находим максимальную
mx = 0
for x in new_lst:
mx = max(mx, len(x))
print(mx)
# или проще
# mx = max(new_lst, key=len)
# print(len(mx))
Автор решения: MaHryCT
→ Ссылка
Скорее всего ты неправильно прочитал условия задачи и что от тебя требуется, потому что не вижу у тебя в коде проверку длины строки
Вот мое решение, уверен есть более элегантное решение этой задачи, но думаю это самое понятное
with open('24.txt', 'r') as f:
letters = f.readline()
letters = letters.split('E') # Разбиваем строку по букве E
length = 0 # Здесь будет храниться максимальная длина строки в которой нет буквы E и есть три буквы А
for string in letters: # Проходимся по строкам, который получились после разбития по букве E
if string.count('A') >= 3 and len(string) > length: # Проверяем исходя из условий задачи
length = len(string)
print(length)
