เมื่อต้องการพิมพ์ตัวเลข 1 ถึง n โดยไม่ใช้ลูป สามารถใช้การเรียกซ้ำ (recursion) โดยลดค่าลงทีละ 1 จนถึง 0 แล้วพิมพ์ขณะกลับมาจากการเรียกซ้ำ
ตัวอย่างโค้ด
def print_numbers(n):
if n > 0:
print_numbers(n - 1)
print(n)
upper = 6
print("The upper limit is:", upper)
print("The numbers are:")
print_numbers(upper)ผลลัพธ์
The upper limit is: 6 The numbers are: 1 2 3 4 5 6
คำอธิบาย
ฟังก์ชัน
print_numbersเรียกตัวเองด้วย n-1 ก่อน (การลุกลง)เมื่อ n = 0 ลูปหยุด (base case)
ขณะกลับมาจากการเรียกซ้ำ (unwinding) จะพิมพ์ 1, 2, 3... ตามลำดับ
นี่คือตัวอย่างการใช้ recursion แทน iteration