В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
MCbelko
MCbelko
08.03.2023 10:12 •  Информатика

Задача найти, cколько элементов массива больше своих соседей.(python)
a = list(map(int, input().split()))
s=0
if len(a)<3:
print('0')
else:
for i in range(2,len(a)):
if a[i-2]>a[i-1] and a[i]>a[i-1]:
s+=1
print(s)
Вот мой код. Почему не проходит?

Показать ответ
Ответ:
Бикулова
Бикулова
12.10.2020 10:20

a = list(map(int, input().split()))

s=0

if len(a)<3:

   pass

else:

   for i in range(1,len(a)-1):

       if a[i] > a[i-1] and a[i]>a[i+1]:

           s+=1

print(s)

Ввод/вывод:

test 1

>>> 1 3 2 4 2

>>> 2

test 2

>>> 1 2

>>> 0

test 3  

>>> 1 5 2 6 3 8 4 9 2 10 1

>>> 5

Объяснение:

У вас была ошибка в проверке элементов, вы искали кол-во элементов, которые меньше обоих своих соседей, вместо тех, которые больше, как просили в задании. Так же, при длине последовательности меньше трёх программа выводила 0 два раза - в начале, где вы проверяли длину последовательности, и в конце переменную s, которая тоже в таком случае равна нулю.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота