Напишите функцию, принимающую число и проверяющую, является ли оно «скользящим». Скользящее число — такое число, соседние цифры которого отличаются между собой на единицу.
Примеры
is_slidey(123454321) ➞ True is_slidey(54345) ➞ True is_slidey(987654321) ➞ True is_slidey(1123) ➞ False is_slidey(1357) ➞ False is_slidey(1) ➞ True
Обратите внимание на примеры 4 и 5. Если в числе идут подряд одинаковые цифры или какая-то цифра в ряду пропущена, такое число мы не считаем скользящим.
Если число записывается одной цифрой, оно считается скользящим.
Варианты решения
def is_slidey(n): n = str(n) return all(abs(int(n[i]) - int(n[i+1])) == 1 for i in range(len(n) - 1))
is_slidey = f = lambda n: n < 10 or abs(n // 10 % 10 - n % 10) == 1 and f(n // 10)