def move_over(owner_place, ferdinand_place, free_places):
# Рядом с Фердинандом находятся места фердинанд - 1 и фердинанд + 1
adjacent_places = {ferdinand_place - 1, ferdinand_place + 1}
# Фильтруем свободные места, оставляя только те, которые находятся рядом с Фердинандом
suitable_places = [place for place in free_places if place in adjacent_places]
return suitable_places
# Пример использования функции
owner_place = 5
ferdinand_place = 7
free_places = [6, 8, 9, 10]
result = move_over(owner_place, ferdinand_place, free_places)
print(result) # Ожидаемый результат: [6, 8]
Функция reader() принимает произвольное число строк и именованные аргументы:
substr – подстрока, которая должна быть в тексте (по умолчанию dog);
order – направление сортировки возвращаемого списка (по умолчанию – False, по возрастанию); True – по убыванию.
Функция должна выбрать строки с подстрокой, записанной в аргументе, и вернуть список этих строк, отсортированный в соответствии со значением параметра order.
Пример 1
Ввод
lines = ['Fat cat', 'Every dog has his day',
'Work like a dog',
'A goose is no playmate to a pig.',
'Top dog', 'My other half',
'Fair-weather friend']
print(*reader(*lines), sep='\n')
Вывод
Every dog has his day
Top dog
Work like a dog