Вычитка · Шаг 3 из 4
Починить, что чинится
Половину замечаний чинить руками незачем: два пробела схлопнуть, дефис между словами заменить на тире, пробел перед запятой убрать. Корректор хочет получить исправленный текст и посмотреть глазами только на то, что машина чинить не взялась.
Что сделать
Почините в строке то, что чинится само, — два пробела, дефис вместо тире.
Что приходит
stroka— строка текстаpochinki— список пар(готовый шаблон, замена); в замене работают\1и подобные
Что вернуть
Пару (исправленная строка, сколько правок); починки применяются по очереди, каждая — к результату предыдущей; ничего не нашлось — (stroka, 0).
Допишите функцию pochinit в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Утилита зовёт pochinit для каждой строки, если запущена с --pochinit, и пишет исправленный файл рядом с исходным. Решите шаг — и два пробела, дефис вместо тире и пробел перед запятой исправятся сами.
import re
pochinki = [(re.compile(r"\s{2,}"), " ")]
pochinit("В номере тихо", pochinki)
('В номере тихо', 2)
Функция принимает строку текста и список починок.
Починка — пара: готовый шаблон и замена (строка).
Применяет починки по очереди: каждая следующая работает уже с тем, что получилось после предыдущей. Возвращает кортеж из двух: исправленная строка и общее число правок. Если ничего не нашлось, возвращается исходная строка и ноль. В замене работают ссылки на группы шаблона — «\1» и подобные.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.