Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเขียน Recursive Function ใน Python

Recursive Function (ฟังก์ชันเรียกซ้ำ) คือฟังก์ชันที่เรียกตัวเองระหว่างการดำเนินการ ทำให้ฟังก์ชันสามารถทำซ้ำได้หลายครั้ง แสดงผลลัพธ์ทีละรอบ Recursion เกี่ยวข้องกับแนวคิดอนันต์

ตัวอย่างที่ 1: หา Factorial

Factorial ของตัวเลขคือผลคูณของจำนวนเต็มทั้งหมดจาก 1 ถึงตัวเลขนั้น เช่น Factorial ของ 9 (เขียนว่า 9!) = 1×2×3×4×5×6×7×8×9 = 362880

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n - 1)

number = 9
print("The factorial of", number, "is", factorial(number))

ผลลัพธ์

The factorial of 9 is 362880

ในโปรแกรมข้างต้น factorial() เป็น Recursive Function เนื่องจากมันเรียกตัวเอง แต่ละครั้งที่เรียก จะคูณตัวเลขกับ Factorial ของตัวเลขลบ 1 จนกว่าตัวเลขจะเท่ากับ 1

ตัวอย่างที่ 2: แสดงตัวเลขแบบ Recursive

def recursive_print(x):
    if x < 1:
        return
    else:
        print(x, end=" ")
        recursive_print(x - 1)
        print(x, end=" ")
        return

recursive_print(5)

ผลลัพธ์

5 4 3 2 1 1 2 3 4 5

ตัวอย่างนี้แสดงการทำงานของ Recursion: ฟังก์ชันเรียกตัวเองจนถึง Base Case (x < 1) แล้วคืนค่ากลับมาทีละขั้น พิมพ์ตัวเลขระหว่างทาง