65 lines
2.4 KiB
Python
65 lines
2.4 KiB
Python
''' ****** Задание 16 из 20 *********
|
||
* Дети в поезде снова играют в любимую игру — считать зверей за окном.
|
||
На этот раз их заинтересовало, что находится рядом с зайками. Поможем им разобраться!
|
||
|
||
Напишите программу, которая по описанию придорожной местности находит все объекты, стоящие рядом с зайками — слева или справа от слова зайка.
|
||
|
||
Формат ввода
|
||
В каждой записано описание придорожной местности.
|
||
Конец ввода обозначается пустой строкой.
|
||
|
||
Формат вывода
|
||
Определите список увиденного рядом с зайками без повторений.
|
||
Порядок вывода не имеет значения.
|
||
|
||
Примечание
|
||
Считается, что объект находится рядом, если он записан справа или слева от требуемого.
|
||
|
||
|
||
Подсказка
|
||
Организуйте цикл не по описаниям, а по их индексам.
|
||
|
||
В следующих параграфах мы рассмотрим более комфортный способ обработки, но пока предлагаем потренироваться в уже изученном материале.
|
||
|
||
Пример 1
|
||
Ввод
|
||
|
||
березка елочка зайка волк березка
|
||
сосна зайка сосна елочка зайка медведь
|
||
сосна сосна сосна белочка сосна белочка
|
||
|
||
Вывод
|
||
|
||
волк
|
||
елочка
|
||
медведь
|
||
сосна
|
||
'''
|
||
|
||
|
||
if __name__ == "__main__":
|
||
nearby_objects = set()
|
||
|
||
while True:
|
||
line = input().split()
|
||
if not line:
|
||
break
|
||
for index, word in enumerate(line):
|
||
if word == 'зайка':
|
||
if index == 0:
|
||
nearby_objects.add(line[index + 1])
|
||
elif index == len(line) - 1:
|
||
nearby_objects.add(line[index - 1])
|
||
else:
|
||
nearby_objects.add(line[index - 1])
|
||
nearby_objects.add(line[index + 1])
|
||
|
||
for item in nearby_objects:
|
||
print(item)
|
||
|
||
|
||
|
||
|
||
|
||
|