Есть план этажа здания. На этом этаже 4 комнаты (1, 2, 3, 4), все выходят в общий коридор. Комнаты не сообщаются между собой: чтобы перейти из одной комнаты в любую другую, нужно пройти через коридор.
Создайте функцию, которая будет проверять, возможен ли переданный ей путь по комнатам. Коридор будет обозначаться буквой «H» (Hall).
possible_path([1, "H", 2, "H", 3, "H", 4]) ➞ True possible_path(["H", 3, "H"]) ➞ True possible_path([1, 2, "H", 3]) ➞ False
def possible_path(lst):
return len(set(type(i) for i in lst[::2])) == 1 def possible_path(lst):
valid_pair = lambda n1, n2: True if n1 == 'H' and n2 in range(1, 5) or n2 == 'H' and n1 in range(1, 5) else False
answer = True
for n in range(len(lst) - 1):
ci = lst[n]
ni = lst[n+1]
answer = valid_pair(ci, ni)
if answer == False:
break
return answer def possible_path(lst):
if len(lst) == 1:
return True
return all(idx % 2 for idx, i in enumerate(lst) if i == "H") or \
all(not idx % 2 for idx, i in enumerate(lst) if i == "H") and not lst.count("H") % 2 Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…