ПочатиПочніть безкоштовно

Обчисліть середнє значення

Усі ми знаємо, як ітеративно обчислити середнє значення:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Чи зможете ви запропонувати рекурсивне розвʼязання? Може стати в пригоді формула для оновлення середнього значення за наявності нового елемента:

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

Тут \(\bar x\) — це середнє значення, \(x_i\) — нове передане значення, яким оновлюється середнє, а \(n\) відповідає номеру рекурсивного виклику (без урахування початкового виклику функції).

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Інструкції до вправи

  • Задайте базовий випадок алгоритму.
  • Визначте рекурсивний виклик для оновлення середнього значення.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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]))
Редагувати та запускати код