1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Connected

cvičení

Oblicz wartość średnią

Wszyscy wiemy, jak obliczyć wartość średnią iteracyjnie:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Czy potrafisz zaproponować rozwiązanie rekurencyjne? Przyda się wzór na aktualizację wartości średniej po otrzymaniu nowej danej:

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

W tym wzorze \(\bar x\) oznacza wartość średnią, \(x_i\) to nowa wartość używana do jej aktualizacji, a \(n\) odpowiada numerowi wywołania rekurencyjnego (z wyłączeniem pierwszego wywołania funkcji).

Pokyny

100 XP
  • Zdefiniuj przypadek bazowy algorytmu.
  • Zaimplementuj wywołanie rekurencyjne do aktualizacji wartości średniej.