औसत मान निकालें
हम सब जानते हैं कि औसत मान को इटरटिव तरीके से कैसे निकाला जाता है:
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]))