पाठ 22 / 49

रिकर्शन

Base case के साथ recursive functions से समस्याएँ हल करें, और Python की recursion depth सीमा जानें।

बेस केस + रिकर्सिव क़दम

हर रिकर्सिव फ़ंक्शन को रुकने के लिए एक बेस केस चाहिए, और उस तक पहुँचने का एक क़दम।

def factorial(n):
    if n <= 1:          # base case
        return 1
    return n * factorial(n - 1)  # recursive step

print(factorial(5))   # 120

रिकर्शन की सीमाएँ

पायथन की डिफ़ॉल्ट रिकर्शन सीमा लगभग 1000 कॉल गहरी है। सामान्य गिनती के लूप के लिए, for/while अक्सर स्पष्ट और तेज़ होता है।