ÎncepețiÎncepe gratuit

Calculează o valoare medie

Cu toții știm cum se calculează o valoare medie în mod iterativ:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Poți oferi o soluție recursivă? O formulă pentru actualizarea valorii medii pe baza unui nou element de intrare ar putea fi utilă:

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

Aici, \(\bar x\) reprezintă valoarea medie, \(x_i\) este noua valoare furnizată, folosită pentru a actualiza media, iar \(n\) corespunde numărului apelului recursiv (excluzând apelul inițial al funcției).

Acest exercițiu face parte din cursul

Exersarea întrebărilor de interviu de programare în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește cazul de bază al algoritmului.
  • Definește apelul recursiv pentru actualizarea valorii medii.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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]))
Editează și rulează codul