Задача Задача №3581047
А
А
Задача понятна. Ниже приводжу подробное решение и рабочий пример на Python.
Цель и подход
- Нужно проверить, понравились ли клиенту два фирменных блюда: шоколадный торт и шашлык.
- Программа запрашивает строку с перечислением понравившихся блюд и для каждого из двух блюд выводит номер символа, с которого начинаетсяЭто блюдо в введенной строке. Если блюдо не найдено — выводит -1.
- Ввод и поиск выполняем без учета регистра, чтобы работа была устойчивой к заглавным/страдательным формам.
- Нумерация символов — 1-based (первый символ имеет номер 1). В Python поиск возвращает 0-based индекс, поэтому при найденном результате прибавляем 1. Если не найдено, возвращаем -1.
Пояснение по шагам
- Определяем искомые блюда: "шоколадный торт" и "шашлык".
- Считываем строку у пользователя и переводим её в нижний регистр для корректного сравнения.
- Для каждого блюда выполняем поиск в строке:
- индекс = строка.find(блюдо)
- если индекс == -1, выводим -1
- иначе выводим индекс + 1 (1-based позиция начала блюда)
- Выводим две строки с результатами для каждого блюда.
Пример входа/выхода
- Ввод: "я люблю шашлык и шоколадный торт"
- Вывод:
- позиция начала шоколадного торта
- позиция начала шашлыка (числа будут конкретными позициями в строке)
Готовый код (Python)
# -*- coding: utf-8 -*-
def main():
s = input("Введите понравившиеся блюда: ")
s_l = s.lower()
targets = ["шоколадный торт", "шашлык"]
for t in targets:
idx = s_l.find(t)
if idx == -1:
print(-1)
else:
# 1-based позиция
print(idx + 1)
if __name__ == "__main__":
main()
Пояснение по тесту
- Если пользователь введет: "я люблю шашлык и шоколадный торт"
- для "шоколадный торт" найдём индекс, например, 21, вывод будет 22 (если считать с 1).
- для "шашлык" найдётся индекс, например, 9, вывод будет 10.
- Если блюда не встречаются в строке, соответствующий вывод будет -1.
Если хочешь, могу адаптировать программу под другой язык программирования или изменить формат вывода (например, вывод в одну строку через пробел).