Mulai sekarangMulai gratis

Hitung nilai rata-rata

Kita semua tahu cara menghitung nilai rata-rata secara iteratif:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

Dapatkah Anda memberikan solusi rekursif? Rumus untuk memperbarui nilai rata-rata ketika ada masukan baru mungkin berguna:

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

Di sini, \(\bar x\) menyatakan nilai rata-rata, \(x_i\) adalah nilai baru yang digunakan untuk memperbarui rata-rata, dan \(n\) bersesuaian dengan nomor pemanggilan rekursif (tidak termasuk pemanggilan awal ke fungsi).

Latihan ini merupakan bagian dari kursus

Berlatih Pertanyaan Wawancara Coding di Python

Lihat Kursus

Instruksi latihan

  • Sediakan kasus dasar untuk algoritme.
  • Definisikan pemanggilan rekursif untuk memperbarui nilai rata-rata.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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]))
Edit dan Jalankan Kode