Nếu một hàm gọi chính nó, nó được gọi là một hàm đệ quy. Để ngăn nó rơi vào vòng lặp vô hạn, lệnh gọi đệ quy được đặt trong một câu lệnh điều kiện.
Chương trình sau chấp nhận một số làm đầu vào từ người dùng và gửi nó dưới dạng đối số cho hàm rsum (). Nó gọi đệ quy chính nó bằng cách giảm đối số mỗi lần cho đến khi nó đạt đến 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)
Lần chạy mẫu của chương trình trên in ra tổng của các số tự nhiên cho đến số đầu vào
Enter a number: 10 The sum is 55