यदि कोई फ़ंक्शन स्वयं को कॉल करता है, तो उसे रिकर्सिव फ़ंक्शन कहा जाता है। इसे अनंत लूप में पड़ने से रोकने के लिए, रिकर्सिव कॉल को कंडीशनल स्टेटमेंट में रखा जाता है।
निम्न प्रोग्राम यूज़र से इनपुट के रूप में संख्या स्वीकार करता है और इसे rsum() फ़ंक्शन को आर्गुमेंट के रूप में भेजता है। यह प्रत्येक बार आर्गुमेंट को डिक्रीमेंट करके स्वयं को रिकर्सिवली कॉल करता है जब तक यह 1 तक नहीं पहुंच जाता।
def rsum(n):
if n <= 1:
return n
else:
return n + rsum(n-1)
num = int(input("Enter a number: "))
ttl = rsum(num)
print("The sum is", ttl)
उपरोक्त प्रोग्राम का नमूना रन इनपुट संख्या तक प्राकृतिक संख्याओं का योग प्रिंट करता है:
Enter a number: 10 The sum is 55