A média dos antípodas

Neste desafio, você recebe uma lista e, em seguida, deve obter uma lista menor seguindo três etapas:

  • Divida a lista em duas partes de mesmo comprimento. Se a lista fornecida tiver comprimento ímpar, você deverá eliminar o número que está no meio da lista para obter duas partes iguais.
  • Some cada número da primeira parte com cada número da segunda parte invertida, obtendo uma nova lista única com o mesmo comprimento das duas partes anteriores.
  • Divida por dois cada número da lista final.

Dada uma lista de inteiros lst, implemente uma função que retorne uma nova lista aplicando o algoritmo acima.

Exemplos

antipodes_average([1, 2, 3, 4]) ➞ [2.5, 2.5]
# Left part = [1, 2]
# Reversed right part = [4, 3]
# List resulting from the sum of each pair = [5, 5]
# Each number is divided by two = [2.5, 2.5]

antipodes_average([1, 2, 3, 4, 5]) ➞ [3, 3]
# The length of list is odd, number 3 (in the middle) is eliminated
# Left = [1, 2]
# Reversed right = [5, 4]
# Sum = [6, 6]
# Division by two = [3, 3]

antipodes_average([-1, -2]) ➞ [-1.5]
#  (-1 + -2) / 2 = [-1.5]

Observações

  • Toda lst fornecida conterá pelo menos dois números.
  • Na lst fornecida, os números serão sempre inteiros (positivos ou negativos), mas os números da lista final retornada também podem ser do tipo float (positivos ou negativos; consulte os exemplos #1 e #3).
  • Você pode realizar as três etapas separadamente ou pensar em como sintetizar o algoritmo para obter o resultado.