ComenzarEmpieza gratis

Calcula un valor medio

Todos sabemos calcular un valor medio de forma iterativa:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

¿Puedes proponer una solución recursiva? Puede ayudarte la siguiente fórmula para actualizar una media cuando entra un nuevo valor:

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

Aquí, \(\bar x\) representa el valor medio, \(x_i\) es un nuevo valor que se usa para actualizar la media, y \(n\) corresponde al número de llamada recursiva (excluyendo la llamada inicial a la función).

Este ejercicio forma parte del curso

Practicing Coding Interview Questions in Python

Ver curso

Instrucciones del ejercicio

  • Indica el caso base del algoritmo.
  • Define la llamada recursiva para actualizar el valor medio.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código