Файлы · 12 из 12
Убрать повторяющиеся ошибки
Задействованы также: Строки, Словари
Одна и та же ошибка сыплется в журнал тысячу раз подряд, и за ней не видно остального. Стас хочет сворачивать повторы в одну строку со счётчиком.
Что сделать
Сверните в журнале тысячу одинаковых ошибок подряд в одну строку со счётчиком.
Что приходит
vhod— имя исходного журнала; строки видаЧЧ:ММ текстvyhod— имя файла, куда записать свёрнутый
Что вернуть
Сколько строк записано в vyhod: подряд идущие строки с одинаковым текстом — время может отличаться — сворачиваются в первую с припиской « (повторов: N)».
Допишите функцию svernut_povtory в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
«09:00 нет связи», «09:01 нет связи», «09:02 всё хорошо» — первые две подряд и с одним текстом. В новом файле две строки: 09:00 нет связи (повторов: 2) и 09:02 всё хорошо. Ответ — 2.
with open("vhod.txt", "w", encoding="utf-8") as f:
f.write("09:00 нет связи\n09:01 нет связи\n09:02 всё хорошо\n")
n = svernut_povtory("vhod.txt", "vyhod.txt")
with open("vyhod.txt", encoding="utf-8") as f:
soderzhimoe = f.read()
(n, soderzhimoe)
(2, '09:00 нет связи (повторов: 2)\n09:02 всё хорошо\n')
Функция принимает имена входного и выходного файлов.
Строки имеют вид «ЧЧ:ММ текст». Идущие подряд строки с одинаковым текстом (время может отличаться) сворачиваются в одну: берётся первая из них, и если повторов было больше одного, к строке дописывается « (повторов: N)». Возвращает число записанных строк. Строки короче шести знаков считаются текстом целиком.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.