По пути домой родители вновь решили сыграть с детьми в поиск зверушек.
Формат ввода
Три строки описывающих придорожную местность.
Формат вывода:
Строка в которой есть зайка, а затем её длина.
Если таких строк несколько, выбрать ту, что меньше всех лексикографически.
Пример
Ввод
березка елочка зайка волк березка
сосна сосна сосна елочка грибочки медведь
сосна сосна сосна белочка сосна белочка
Вывод
березка елочка зайка волк березка 33
Ввод
зайка березка
березка зайка
березка елочка березка
Вывод
березка зайка 13
Решение
Одна из самых интересных задач раздела.
Доставляет много неприятностей тем, кто не знает, что иногда, прежде чем работать с данными их стоит отсортировать. Этот прием помог нам в задачах N. Властелин Чисел: Две Башни, O. Властелин Чисел: Возвращение Цезаря и P. Легенды велогонок возвращаются: кто быстрее?
Итак, для начала сортируем строки, а дальше, с помощью оператора in, проверяем каждую из них на наличие зайки. Если зайка найден — выводим на печать строку и ее длину, посчитанную с помощью функции len().
Посмотреть код
Решение
nature1 = input()
nature2 = input()
nature3 = input()
if nature1 > nature2:
nature1, nature2 = nature2, nature1
if nature1 > nature3:
nature1, nature3 = nature3, nature1
if nature2 > nature3:
nature2, nature3 = nature3, nature2
if 'зайка' in nature1:
print(nature1, len(nature1))
elif 'зайка' in nature2:
print(nature2, len(nature2))
elif 'зайка' in nature3:
print(nature3, len(nature3))
Решение без сортировки
nature1 = input()
nature2 = input()
nature3 = input()
nature = ''
if 'зайка' in nature1:
nature = nature1
if 'зайка' in nature2:
if nature == '' or nature > nature2:
nature = nature2
if 'зайка' in nature3:
if nature == '' or nature > nature3:
nature = nature3
print(nature, len(nature))
Сделал таким образом). Тестировщик яндекса не принимает ответ, но в самом питоне код работает). Возможно я усложнил, но код же работает, почему яндекс его не принимает?) Ошибка «СЕ».
И ваше решение без сортировки я не понял)). Как сравниваются два текста если и там и там есть зайка), а если в трех текстах есть зайка?)
text_1 = input()
text_2 = input()
text_3 = input()
if ‘зайка’ in text_1 and ‘зайка’ in text_2 and ‘зайка’ in text_3:
minimum = min(text_1, text_2, text_3)
print(minimum, len(minimum))
elif ‘зайка’ in text_1 and ‘зайка’ in text_2:
minimum = min(text_1, text_2)
print(minimum, len(minimum))
elif ‘зайка’ in text_1 and ‘зайка’ in text_3:
minimum = min(text_1, text_3)
print(minimum, len(minimum))
elif ‘зайка’ in text_2 and ‘зайка’ in text_3:
minimum = min(text_2, text_3)
print(minimum, len(minimum))
elif ‘зайка’ in text_1 and not ‘зайка’ in text_2 and not ‘зайка’ in text_3:
print(text_1, len(text_1))
elif ‘зайка’ in text_2 and not ‘зайка’ in text_1 and not ‘зайка’ in text_3:
print(text_2, len(text_2))
elif ‘зайка’ in text_3 and not ‘зайка’ in text_1 and not ‘зайка’ in text_2:
print(text_3, len(text_3))
прошу прощения за задержку,
рад, что вам самому удалось разобраться — это самый правильный путь изучать программирование.
по поводу решения без сортировки в описании есть отсылка к двум задачам, в одной из которых, в свою очередь есть отсылка к статье про сортировку трех элементов с помощью сравнения.
Прикрепляю рабочий вариант кода. Возможно он длинный, но легкий для понимания.