Začněte nyníZačněte zdarma

Výpočet průměrné hodnoty

Průměrnou hodnotu iterativně umíme spočítat asi všichni:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Dokážeš napsat rekurzivní řešení? Přijde ti vhod vzorec pro aktualizaci průměrné hodnoty po přidání nového vstupu:

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

Zde \(\bar x\) označuje průměrnou hodnotu, \(x_i\) je nově přidaná hodnota, která průměr aktualizuje, a \(n\) odpovídá číslu rekurzivního volání (bez počítání počátečního volání funkce).

Toto cvičení je součástí kurzu

Procvičování otázek z kódovacích pohovorů v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Definuj základní případ algoritmu.
  • Definuj rekurzivní volání pro aktualizaci průměrné hodnoty.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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]))
Upravit a spustit kód