Задание №10 — Поиск слова в тексте
#69738Задание №10ФИПИ
Текстовый процессор
Определите, сколько раз в тексте повести Н. В. Гоголя «Тарас Бульба» встречается слово «шапка» или «Шапка». Другие формы слова «шапка», такие как «шапках», «шапками» и т. д., учитывать не следует. В ответе укажите только число.
Правильный ответ
4
Пояснение
Решение:
Откроем файл с текстом повести и воспользуемся поиском (Ctrl+F). Вводим шапка и включаем режим «Только слово целиком»: иначе будут посчитаны формы «шапках», «шапками», «шапкам» и т. п., которые по условию не учитываются. Флажок «Учитывать регистр» не ставим — годятся и «шапка», и «Шапка».
Редактор находит 4 вхождения именно словоформы «шапка»: «…и шапка в золоте…», «…и шапка заломлена набекрень…», «…у кого шапка…», «Разлетелась медная шапка…».
Проверка программой:
import re
text = open('text.txt', encoding='cp1251').read()
matches = re.findall(r'(?<![А-Яа-яЁё])[Шш]апка(?![А-Яа-яЁё])', text)
print(len(matches)) # 4
Ответ: 4