Ниже подробное решение задачи с пошаговым объяснением и примером кода.
Цель задачи и подход
- Нужно читать вход по строкам до строки ВСЁ и определить, встречалось ли в какой-либо строке целое слово "звезд" (игнорируем регистр: либо "звезд", либо "Звезд" и т.д.).
- Важно трактовать "звезда" как отдельное слово, а не часть другого слова. К примеру, "Звездам" не должно считаться за наличие слова "звезд".
- Если такое слово встречалось хотя бы в одной строке — выводим "Загадывай!", иначе "НЕТ".
Пошаговый алгоритм
- Заведём флаг found = False.
- Читаем строки до тех пор, пока не встретится строка "ВСЁ" (после приведения к точному совпадению без пробелов на краях).
- Для каждой строки проверяем наличие целого слова "звезд" независимо от регистра. Для надёжности используем регулярное выражение с границами слова: \bзвезд\b и флагом IGNORECASE.
- Если нашли, установим found = True и завершим ввод (можно сразу вывести результат).
- После обработки до ВСЁ печатать:
- "Загадывай!" если found = True
- "НЕТ" если found = False
Пример реализации на Python 3
import sys
import re
def main():
# Поиск слова 'звезд' как отдельного слова, без учета регистра
pattern = re.compile(r'\bзвезд\b', re.IGNORECASE)
found = False
for raw_line in sys.stdin:
line = raw_line.rstrip('\n')
if line.strip() == 'ВСЁ':
break
if pattern.search(line):
found = True
break
if found:
print("Загадывай!")
else:
print("НЕТ")
if __name__ == "__main__":
main()
Пояснения к коду
- r'\bзвезд\b' означает: найти слово 'звезд' целиком, с границами слова, чтобы не совпало с частями других слов (например, не считать "Звездам").
- re.IGNORECASE обеспечивает поиск независимо от регистра.
- Ввод продолжается до строки ВСЁ (после нее ничего не обрабатывается).
Проверка на примерах
Пример 1: Ввод: Взошла на горы черна тень; Лучи от нас склонились прочь; Открылась бездна звезд полна; Звездам числа нет, бездне дна. ВСЁ Результат: Зажигается наличие слова "звезд" в строке "Открылась бездна звезд полна;" → вывод: "Загадывай!"
Пример 2: Ввод: Но где ж, натура, твой закон? С полночных стран встает заря! Не солнце ль ставит там свой трон? Не льдисты ль мещут огнь моря? ВСЁ Результат: в строках нет отдельного слова "звезд" → вывод: "НЕТ"
Если у тебя есть другой пример или хочешь решение на другом языке (например, Java, C++), скажи — могу привести адаптированный вариант.