Я пытаюсь найти написать функцию, которая дает произведение самой старшей пары смежных элементов в списке. Для моего кода
gala = [1, 2, 3, 4, 5]
def adjacentElementsProduct(inputArray):
for i in range(len(inputArray)):
if inputArray[i] * inputArray[i+1] > inputArray[i+1] * inputArray[i+2]:
return inputArray[i] * inputArray[i+1]
elif inputArray[i+1] * inputArray[i+2] > inputArray[i] * inputArray[i+1] and inputArray[i+1] * inputArray[i+2] > inputArray[i+2] * inputArray[i+3]:
return inputArray[i+1] * inputArray[i+2]
elif inputArray[i+2] * inputArray[i+3] > inputArray[i+1] * inputArray[i+2] and inputArray[i+2] * inputArray[i+3] > inputArray[i+3] * inputArray[i+4]:
return inputArray[i+2] * inputArray[i+3]
else:
return inputArray[i+3] * inputArray[i+4]
return adjacentElementsProduct
adjacentElementsProduct(gala)
Здесь на выходе будет 20 (так как 4 х 5 - это самые высокие соседние пары) Эта функция работает для данного списка, даже если я изменяю порядок чисел и их знак. Однако, если длина списка изменяется, код ломается. Если список был
gala = [1, -6]
или
gala = [2, 5, 7, -9, 10, 0, 11]
Я хотел, чтобы вывод первого списка функции был -6, а второго - 35. Но моя функция прерывается для таких списков.