Вариант 1
«рук» · сочетание в составе словВ файле приведена повесть «Тихая пристань». С помощью текстового редактора определите, сколько раз встречается сочетание букв «рук» или «Рук» в составе других слов, но не как отдельное слово, в тексте всей повести (во всех главах). В ответе укажите только число.
Файл к варианту: Ege10_v1.docx (Word; открывается и в LibreOffice Writer).
Разбор
Шаг 1. Оставляем только нужные главы. Удобно скопировать текст всех глав в новый документ, чтобы поиск не задел остальные главы.
Шаг 2. Поиск с параметрами. В окне «Найти и заменить» (Ctrl+H) включаем «Учитывать регистр», вводим сочетание и смотрим количество найденных. Флажок «Только слово целиком» оставляет только отдельные слова.
Шаг 3. Считаем. В этих главах «рук» со строчной буквы — 123 раза, «Рук» — 42 раза; отдельным словом («рук» или «Рук») — 54 раза.
В составе других слов: 123 + 42 − 54 = 111.
Слова, в которых встречается сочетание: Рук, Рукав, Руки, Рукопись, Рукоять, рук, рукава, рукавицы, руки, рукой, руку.
Ответ: 111
Проверка на Python. Положите файл варианта рядом с программой. Сторонние библиотеки не нужны: документ .docx — это zip-архив с текстом в XML.
import re
import zipfile
from html import unescape
# .docx — это zip-архив, текст лежит в word/document.xml: абзацы <w:p>, куски текста <w:t>
xml = zipfile.ZipFile('Ege10_v1.docx').read('word/document.xml').decode('utf-8')
paras = [unescape(''.join(re.findall(r'<w:t[^>]*>(.*?)</w:t>', p))) for p in re.findall(r'<w:p>.*?</w:p>', xml)]
ROMAN = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV']
chapter = 0
text = ''
for p in paras:
if p.startswith('Глава '):
chapter = ROMAN.index(p.split()[1]) + 1
elif 1 <= chapter <= 11:
text += p + '\n'
all_ = len(re.findall(r'рук|Рук', text)) # все вхождения сочетания
alone = len(re.findall(r'\b(?:рук|Рук)\b', text)) # отдельным словом
print(all_ - alone)