Inizia subitoInizia gratis

Calcola un valore medio

Sappiamo tutti come calcolare un valore medio in modo iterativo:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Sai proporre una soluzione ricorsiva? Ti può tornare utile la formula per aggiornare una media dato un nuovo valore in ingresso:

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

Qui \(\bar x\) indica il valore medio, \(x_i\) è un nuovo valore fornito usato per aggiornare la media e \(n\) corrisponde al numero di chiamate ricorsive (escludendo la chiamata iniziale alla funzione).

Questo esercizio fa parte del corso

Esercitarsi con le domande di colloquio di coding in Python

Visualizza corso

Istruzioni dell'esercizio

  • Fornisci il caso base dell'algoritmo.
  • Definisci la chiamata ricorsiva per aggiornare il valore medio.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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]))
Modifica ed esegui il codice