Python Количество локальных максимумов
Элемент последовательности называется строгим локальным максимумом, если он строго больше предыдущего и последующего элементов последовательности. Первый и последний элемент последовательности не являются локальными максимумами.
Входные данные
Дана последовательность натуральных чисел, завершающаяся числом 0. Последовательность содержит не менее трёх элементов. Гарантируется, что все числа не превосходят 100.
Выходные данные
Определите количество строгих локальных максимумов в этой последовательности.
Примеры
Ввод
5 1
0 2
0
Вывод
0 0
Объяснение:
i=1
while(i<11):
if(i==1):
print(f"Факторіал {i} дорівнює 1 ")
elif(i==2):
print(f"Факторіал {i} дорівнює 2 ")
elif(i==3):
print(f"Факторіал {i} дорівнює 6 ")
elif(i==4):
print(f"Факторіал {i} дорівнює 24 ")
elif(i==5):
print(f"Факторіал {i} дорівнює 120 ")
elif(i==6):
print(f"Факторіал {i} дорівнює 720 ")
elif(i==7):
print(f"Факторіал {i} дорівнює 5040 ")
elif(i==8):
print(f"Факторіал {i} дорівнює 40360")
elif(i==9):
print(f"Факторіал {i} дорівнює 363240")
elif(i==10):
print(f"Факторіал {i} дорівнює 3632400 ")
i=i+1
хотелось бы контекст увидеть, но заменить можно с такой идеей:
у нас я так понял так или иначе выполняется элементДвижения (влево или вправо). давайте я создам метод с типом возврата элементДвижения
и тогда в нем после выполнения первого неполного ветвления мы уже что-то вернем и выйдем из метода и на второе ветвление (которое тогда не очень-то и нужно мы попадаем как в ветку иначе) ну вот такая идея...
было
if(слева стена)
{
вправо;
}
else
{
влево;
}
стало
МойМетод(); // вызываю метод
// а вот и сам метод
элементДвижения МойМетод()
{
if(слева стена)
{
return вправо;
}
if(слева не стена) // вообще можно не писать
{
return влево;
}
}