🐥 Задача по Python #4



Пролог



Давайте сделаем так, чтобы Боб никогда не пропустил ни одного интересного номера. Мы взломали компьютер его машины, и у нас есть коробка, которая считывает пробег. Коробка приклеенная к его приборной панели, которая загорается желтым или зеленым в зависимости от того, получает ли она 1 или 2 (соответственно).



Описание



Напишите функцию, которая анализирует введенное число миль и возвращает 2, если число «интересно» (см. ниже), 1, если интересное число встречается в пределах следующих двух миль, или 0, если число не интересно.



«Интересные» числа



Интересные числа — это числа из 3 и более цифр, которые соответствуют одному или нескольким из следующих критериев:



• Любая цифра, за которой следуют все нули: 100, 90000

• Каждая цифра — это одно и то же число: 1111.

• Цифры последовательные, сращенные†: 1234

• Цифры идут последовательно, по убыванию‡: 4321

• Цифры представляют собой палиндром: 1221 или 73837.

• Цифры соответствуют одному из значений в массиве awesome_phrases.

• Для возрастающих последовательностей 0 должен стоять после 9, а не перед 1, как в 7890.

• Для убывающих последовательностей 0 должен стоять после 1, а не перед 9, как в 3210.



Примеры



# "скучные" номера

is_interesting(3, [1337, 256]) # 0

is_interesting(3236, [1337, 256]) # 0



# прогресс по мере приближения к "интересному" числу

is_interesting(11207, []) # 0

is_interesting(11208, []) # 0

is_interesting(11209, []) # 1

is_interesting(11210, []) # 1

is_interesting(11211, []) # 2



# приближается к предоставленной "потрясающей фразе"

is_interesting(1335, [1337, 256]) # 1

is_interesting(1336, [1337, 256]) # 1

is_interesting(1337, [1337, 256]) # 2



Свой вариант решения в комментарии 💭

Кодом делиться через
pastebin.org или repl.it.



#задачи