Python задача с циклами похожа на задачу из задачника Абрамяна, но чуть чуть переделана

Дан список my_numbers = [1, 3, 5, 3, 7, 8, 12, 4]. Список называется пилообразным, если каждый его внутренний элемент либо больше, либо меньше обоих своих соседей (то есть является «зубцом»). Если данный список является пилообразным, то вывести True; в противном случае вывести False. Использовать цикл for.

my_numbers = [1, 3, 5, 3, 7, 8, 12, 4]
i = 1
while i < len(my_numbers):
    if my_numbers[i] < my_numbers[i-1]:
        print(True)
    i += 1
else:
        print(False)

Ответы (1 шт):

Автор решения: CrazyElf

Ну, например:

print(all((a - b) * (c - b) > 0 for a, b, c in zip(my_numbers, my_numbers[1:], my_numbers[2:])))
→ Ссылка