Проверка на монотонную последовательность(python)
Программа получает список чисел. Требуется определить, является ли список монотонной последовательностью (невозрастающей или неубывающей). Вывести Yes или No.
Входные данные:
-96 -96 -85 -82 -76 -64 -56 -47 -44 -44 -13 16 20 40 55 59 79 82 100 100
Проблема в том, что первые четыре теста проходят, а последний нет, думаю дело в двух строках, то есть приходит в input сразу две списка, и поиск сбивается:
-83 -6 42 70 -22 -48 -20 -86 -9 -34 -45 -74 -61 -66
-2 -25 65 -96
Вот код:
a = input()
def parse(lst):
def sort(x):
return sorted(x)
number = list(filter(lambda x: type(x) == int, lst))
if number == sort(number):
print('Yes')
else:
print('No')
parse(a)
Помогите)
Ответы (1 шт):
Автор решения: Евгений
→ Ссылка
Почему бы вам не использовать split для разбиения строки на числа?
Кроме того, вы проверяете только один порядок сортировки списка, но не проверяете обратный ему
def parse(lst):
def sort(x):
return sorted(x)
number = [int(c) for c in a.split()]
if number == sort(number) \
or number == list(reversed(sort(number))):
print('Yes')
else:
print('No')
