РУҚА
Задания № 10, 19 · ЕГЭ

Слова с заданным свойством

Как находить и считать слова, которые соответствуют условиям по длине и составу
6 мин чтенияСложность: Обновлено 29 сентября 2026

Во многих задачах требуется обработать набор слов и найти среди них те, которые имеют заданную длину, начинаются или заканчиваются определённым символом, содержат нужную букву либо состоят только из символов некоторого набора. Основа решения — правильно выделить каждое слово, проверить его свойство и увеличить счётчик.

Что считать словом с заданным свойством

Слово обычно хранится как строка, а набор слов — как массив строк. Если программа читает строку целиком, сначала применяют приёмы из страницы обработке слов: выделяют слова, разделённые пробелами, или обрабатывают каждое слово по очереди. Само слово удобно обозначать \(s\), его длину — \(n=|s|\).

D
Свойство слова

Свойство слова — это условие, которое можно проверить для одной строки и получить ответ «истина» или «ложь». Например: \(|s|=5\), слово содержит букву «а», начинается с «к», заканчивается на «я» или состоит только из цифр.

T
Общий алгоритм

Чтобы посчитать слова с заданным свойством, переберите все слова, для каждого вычислите логическое условие и при истинном результате увеличьте счётчик на единицу.

\[C=\sum_{i=1}^{m}[P(s_i)]\]1

Здесь \(m\) — количество слов, \(P(s_i)\) — проверяемое свойство, а квадратные скобки равны \(1\), если условие истинно, и \(0\) иначе. В программе это выглядит как if condition: count += 1.

Проверка длины и положения символов

Длину строки находят функцией len(s) в Python, Length(s) в Pascal или s.length() в C++. Подробно о размере строки можно прочитать на странице размер слова. Важно не путать длину с индексом последнего символа: при нумерации с нуля последний индекс равен \(|s|-1\).

\[|s|=n\quad\Longleftrightarrow\quad \operatorname{len}(s)=n\]

Первый и последний символы проверяют по индексам. В Python это s[0] и s[-1]; в языках с нумерацией от нуля последний символ часто обозначают s[len(s)-1]. Перед обращением к символу убедитесь, что строка не пустая.

  • слово длины 4: len(s) == 4;
  • начинается с a: s[0] == 'a' или s.startswith('a');
  • заканчивается на ь: s[-1] == 'ь';
  • имеет длину от 3 до 7 включительно: 3 <= len(s) <= 7.
Составное условие

Несколько требований соединяют логическими операциями: «и» — and, «или» — or, «не» — not. Например, слово длины 5, начинающееся с «с»: len(s) == 5 and s[0] == 'с'.

Проверь себя

Как записать условие: слово имеет длину от 4 до 8 символов и заканчивается буквой «а»?

Проверка состава слова

Чтобы проверить, входит ли символ в слово, используют операцию in. Это связано с темой проверки вхождения символа. Условие 'о' in s истинно, если в слове есть хотя бы одна буква «о».

Если требуется проверить, что слово содержит несколько разных символов, соединяйте условия через and: 'а' in s and 'о' in s. Если достаточно хотя бы одного из них, используйте or. Для более сложного анализа можно пройти по всем символам строки — такой способ разобран на странице обработка строки по символам.

T
Проверка «только из разрешённых символов»

Слово состоит только из символов множества \(A\), если каждый его символ принадлежит \(A\). В Python это удобно выразить условием all(ch in allowed for ch in s), где allowed — строка или множество разрешённых символов.

\[\forall j\in\{0,1,\ldots,n-1\}\quad s_j\in A\]

Например, для проверки слова из одних цифр можно использовать s.isdigit(), а для латинских букв — s.isalpha() с учётом особенностей выбранного языка. Если готовой функции нет, применяют цикл и логическую переменную-флаг.

ТребованиеПример проверки в PythonСмысл
Есть символ «т»'т' in sхотя бы одна буква «т»
Нет символа «ь»'ь' not in sбуква «ь» не встречается
Содержит «а» и «е»'а' in s and 'е' in sобе буквы присутствуют
Только символы из abcall(c in 'abc' for c in s)других символов нет
Ровно три буквы «а»s.count('а') == 3частота символа равна 3

Метод count считает все вхождения символа или подстроки. Он полезен, когда в условии сказано «ровно», «не менее» или «не более» заданного количества. Для подсчёта разных символов применяют множество или таблицу частот; эти приёмы связаны со страницами подсчёт различных символов и таблица частот символов.

Подсчёт подходящих слов

Счётчик должен начинаться с нуля и увеличиваться только после успешной проверки. Если нужно вывести сами слова, храните их в отдельном массиве или списке. Если требуется найти первое подходящее слово, не перебирайте остальные после обнаружения результата: используйте приём поиска первого вхождения или досрочное завершение цикла.

№
Пример: слова длины 5 с буквой «р»

Дан список слов. Требуется определить, сколько слов имеют длину 5 и содержат букву «р». Сначала формализуем условие: len(s) == 5 and 'р' in s. Затем перебираем все слова и увеличиваем count, если условие истинно.

1
Задаём начальное значение счётчика: до обработки ни одно слово не выбрано.
count=0
2
Для каждого слова проверяем одновременно длину и наличие буквы «р».
\(\displaystyle P(s)\equiv (|s|=5)\land(\text{«р»}\in s)\)
3
Если условие истинно, добавляем один подходящий объект.
\(\displaystyle P(s)=\text{истина}\Rightarrow count:=count+1\)
4
После обработки всех слов счётчик содержит ответ.
answer=count
Python
1words = input().split()
2count = 0
3
4for s in words:
5    if len(s) == 5 and 'р' in s:
6        count += 1
7
8print(count)

Разберём список море стол река́т книга. Слово «море» имеет длину 4 и не подходит. «стол» также имеет длину 4. «река́т» при обычном вводе содержит 5 символов и букву «р», поэтому подходит. «книга» имеет длину 5, но буквы «р» нет. Ответ равен 1.

!
Частые ошибки

Не увеличивайте счётчик до проверки условия. Не заменяйте and на or, если должны выполняться оба требования. Не обращайтесь к s[0] или s[-1] у пустой строки. Проверяйте, что в условии нужны именно буквы, а не подстрока целиком: in проверяет наличие последовательности символов.

  1. Определите, что является одним словом и как слова разделены.
  2. Запишите каждое требование отдельно.
  3. Соедините требования and или or по смыслу.
  4. Выберите способ проверки состава: in, count, цикл или готовый метод.
  5. Проверьте граничные случаи: пустое слово, минимальную и максимальную длину.

Разбор условий и граничных случаев

Фразы «длина не менее 4» и «длина больше 4» различаются: первая означает \(|s|\ge4\), вторая — \(|s|>4\). Слова «от \(a\) до \(b\) включительно» требуют двойного неравенства \(a\le|s|\le b\). Если сказано «содержит ровно одну букву», проверяйте count == 1, а не просто наличие буквы.

\[a\le |s|\le b\quad\Longleftrightarrow\quad (|s|\ge a)\land(|s|\le b)\]

При обработке строки с разделителями сначала убедитесь, что разделение выполнено корректно. Если между словами могут быть несколько пробелов, в Python split() без аргумента обычно устраняет эту проблему. Если слова уже даны в массиве, повторно разделять их не нужно.

Главная схема

перебрать → проверить → посчитать. Сначала выберите одно слово, затем вычислите его свойство, после этого изменяйте счётчик только при истинном результате.

Q
Быстрый тест по теме

Быстрая проверка

~ 2 мин4 вопроса
Вопрос 1 / 4
Вопрос 1 из 4 · длина и первый символ
Как проверить слово длины 6, начинающееся с «м»?
Главное за минуту

Главное

  • Свойство слова — логическое условие, которое проверяется для одной строки.
  • Длину проверяют через len(s), символы — индексами, in и count.
  • Несколько обязательных требований соединяют через and, альтернативные — через or.
  • Для подсчёта используют схему: счётчик равен нулю, затем перебор, проверка и увеличение на 1.
  • Всегда учитывайте границы длины, пустые строки и различие между «есть хотя бы один» и «ровно заданное количество».