ComeçarComece de graça

Calcular um valor médio

Todos sabemos como calcular um valor médio de forma iterativa:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Você consegue fornecer uma solução recursiva? A fórmula para atualizar um valor médio dado um novo valor de entrada pode ajudar:

$$ \bar{x} \leftarrow \frac{x_i + (n-1)\bar{x}}{n} $$

Aqui, \(\bar x\) representa o valor médio, \(x_i\) é um novo valor fornecido para atualizar a média, e \(n\) corresponde ao número da chamada recursiva (excluindo a chamada inicial da função).

Este exercício faz parte do curso

Praticando questões de entrevista de código em Python

Ver curso

Instruções do exercício

  • Forneça o caso base do algoritmo.
  • Defina a chamada recursiva para atualizar o valor médio.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Calculate an average value of the sequence of numbers
def average(nums):
  
    # Base case
    if len(nums) == ____:  
        return ____[____]
    
    # Recursive call
    n = len(nums)
    return (____ + ____ * ____) / ____

# Testing the function
print(average([1, 2, 3, 4, 5]))
Editar e executar o código