Задача № 5 «Осадки»
Брать ли зонт, выходя из дома? Принципиальный вопрос, особенно, когда спешишь, и у тебя полно других вещей, которые точно нужно взять.
Напиши программу, которая даст рекомендацию.
Формат ввода
Вводится строка прогноза погоды.
Формат вывода
Если в ней нет слова, начинающегося с "дожд" или "Дожд", и нет слов "осадки" или "Осадки", то выводим:
Зонт не нужен.
Если хоть что-нибудь из этого есть, то: "Возьми зонт!".
Ввод Вывод
Ожидаются дожди, усиление ветра, осадки в виде рыб и лягушек. Возьми зонт!
Дождя не будет! Возьми зонт!
Ясно, солнечно, без осадков. Хороший день! Зонт не нужен.
Ответ нейросети
24 мая 2026 08:25
Вот подробное решение задачи «Осадки» с пошаговым объяснением и рабочим примером кода.
Цель решаемой задачи
Если во вводной строке встречается хотя бы одно слово, начинающееся с "дожд" или "Дожд", или встречается точное слово "осадки" или "Осадки" — выдать: Возьми зонт!
Иначе вывести: Зонт не нужен.
Пояснение алгоритма
Взять вводимую строку прогноза погоды.
Разделить её на слова по пробелам.
Для каждого слова удалить передние и завершающие знаки препинания (такие как запятые, точки и т.д.), чтобы сравнения были корректны.
Проверка условий:
если слово начинается с "дожд" или с "Дожд" (учитываются регистр и префикс),
или если слово ровно равно "осадки" или "Осадки",
то флаг recomendado устанавливается в истинное состояние.
Если флаг установлен — выводим "Возьми зонт!", иначе "Зонт не нужен.".
Особенности:
Мы не учитываем другие формы слов вроде "осадков" как триггер на появление осадок — по условию задачи речь идёт именно о словах "осадки" или "Осадки".
Обработку знаков препинания мы делаем через stripping в начале цикла, чтобы слова вроде "Дождя," или "осадки." корректно распознались.
Пример кода на Python 3
def needs_umbrella(forecast: str) -> bool:
# Разделяем строку на слова
tokens = forecast.split()
# Знаки препинания, которые стоит удалить с концов слова
punct = '.,!?;:"()[]'
has_dozh = False # есть слово, начинающееся с "дожд" или "Дожд"
has_osad = False # есть точное слово "осадки" или "Осадки"
for tok in tokens:
t = tok.strip(punct)
if not t:
continue
if t.startswith("дожд") or t.startswith("Дожд"):
has_dozh = True
if t == "осадки" or t == "Осадки":
has_osad = True
return has_dozh or has_osad
def main():
# Ввод: одна строка прогноза погоды
forecast = input()
if needs_umbrella(forecast):
print("Возьми зонт!")
else:
print("Зонт не нужен.")
if __name__ == "__main__":
main()
Как запустить
Сохраните код в файл, например, umbrella.py.
Запустите: python umbrella.py
Введите строку прогноза погоды (одна строка). Программа выведет either "Возьми зонт!" или "Зонт не нужен." в зависимости от содержания.
Проверка на примерах из условия
Ввод: "Ожидаются дожди, усиление ветра, осадки в виде рыб и лягушек."
содержит префикс "дожд" в слове "дожди" -> вывод: Возьми зонт!
Ввод: "Дождя не будет!"
содержит префикс "Дожд" в слове "Дождя" -> вывод: Возьми зонт!
Ввод: "Ясно, солнечно, без осадков. Хороший день!"
нет слова, начинающегося с "дожд" и нет точного слова "осадки"/"Осадки" (есть "осадков"), поэтому вывод: Зонт не нужен.
Если нужно, могу адаптировать решение под другой язык программирования или учесть дополнительные нюансы формулировки.
ПО распространяется в виде интернет-сервиса, специальные действия по установке ПО на стороне пользователя не требуются
Задача № 5 «Осадки»
Брать ли зонт, выходя из дома? Принципиальный вопрос, особенно, когда спешишь, и у тебя полно других вещей, которые точно нужно взять.
Напиши программу, которая даст рекомендацию.
Формат ввода
Вводится строка прогноза погоды.
Формат вывода
Если в ней нет слова, начинающегося с "дожд" или "Дожд", и нет слов "осадки" или "Осадки", то выводим:
Зонт не нужен.
Если хоть что-нибудь из этого есть, то: "Возьми зонт!".
Ввод Вывод
Ожидаются дожди, усиление ветра, осадки в виде рыб и лягушек. Возьми зонт!
Дождя не будет! Возьми зонт!
Ясно, солнечно, без осадков. Хороший день! Зонт не нужен.
Вот подробное решение задачи «Осадки» с пошаговым объяснением и рабочим примером кода.
Цель решаемой задачи
- Если во вводной строке встречается хотя бы одно слово, начинающееся с "дожд" или "Дожд", или встречается точное слово "осадки" или "Осадки" — выдать: Возьми зонт!
- Иначе вывести: Зонт не нужен.
Пояснение алгоритма
1) Взять вводимую строку прогноза погоды.
2) Разделить её на слова по пробелам.
3) Для каждого слова удалить передние и завершающие знаки препинания (такие как запятые, точки и т.д.), чтобы сравнения были корректны.
4) Проверка условий:
- если слово начинается с "дожд" или с "Дожд" (учитываются регистр и префикс),
- или если слово ровно равно "осадки" или "Осадки",
то флаг recomendado устанавливается в истинное состояние.
5) Если флаг установлен — выводим "Возьми зонт!", иначе "Зонт не нужен.".
Особенности:
- Мы не учитываем другие формы слов вроде "осадков" как триггер на появление осадок — по условию задачи речь идёт именно о словах "осадки" или "Осадки".
- Обработку знаков препинания мы делаем через stripping в начале цикла, чтобы слова вроде "Дождя," или "осадки." корректно распознались.
Пример кода на Python 3
```python
def needs_umbrella(forecast: str) -> bool:
# Разделяем строку на слова
tokens = forecast.split()
# Знаки препинания, которые стоит удалить с концов слова
punct = '.,!?;:"()[]'
has_dozh = False # есть слово, начинающееся с "дожд" или "Дожд"
has_osad = False # есть точное слово "осадки" или "Осадки"
for tok in tokens:
t = tok.strip(punct)
if not t:
continue
if t.startswith("дожд") or t.startswith("Дожд"):
has_dozh = True
if t == "осадки" or t == "Осадки":
has_osad = True
return has_dozh or has_osad
def main():
# Ввод: одна строка прогноза погоды
forecast = input()
if needs_umbrella(forecast):
print("Возьми зонт!")
else:
print("Зонт не нужен.")
if __name__ == "__main__":
main()
```
Как запустить
- Сохраните код в файл, например, umbrella.py.
- Запустите: python umbrella.py
- Введите строку прогноза погоды (одна строка). Программа выведет either "Возьми зонт!" или "Зонт не нужен." в зависимости от содержания.
Проверка на примерах из условия
- Ввод: "Ожидаются дожди, усиление ветра, осадки в виде рыб и лягушек."
- содержит префикс "дожд" в слове "дожди" -> вывод: Возьми зонт!
- Ввод: "Дождя не будет!"
- содержит префикс "Дожд" в слове "Дождя" -> вывод: Возьми зонт!
- Ввод: "Ясно, солнечно, без осадков. Хороший день!"
- нет слова, начинающегося с "дожд" и нет точного слова "осадки"/"Осадки" (есть "осадков"), поэтому вывод: Зонт не нужен.
Если нужно, могу адаптировать решение под другой язык программирования или учесть дополнительные нюансы формулировки.