Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để viết một hàm đệ quy trong Python?

A đệ quy function là một hàm gọi chính nó trong quá trình thực thi nó. Điều này cho phép hàm tự lặp lại nhiều lần, xuất ra kết quả và kết thúc của mỗi lần lặp. Đệ quy có một cái gì đó để làm với vô hạn.

Sau đây là một ví dụ về hàm đệ quy để tìm giai thừa của một số nguyên.

Giai thừa của một số là tích của tất cả các số nguyên từ 1 đến số đó.

Ví dụ:giai thừa của 9 (được ký hiệu là 9!) Là 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 =362880.

Ví dụ 1

def factorial(i):
   if i == 1:
      return 1
   else:
      return (i * factorial(i-1))
number = 9
print("The factorial of", number, "is", factorial(number))

Đầu ra

The factorial of 9 is 362880


Trong chương trình trên, giai thừa () là một hàm đệ quy như chính nó gọi. Mỗi lệnh gọi hàm sẽ nhân số với giai thừa của số 1 cho đến khi số đó bằng một.

Ví dụ để đặt hai gương song song đối diện nhau. Bất kỳ đối tượng nào ở giữa chúng sẽ được phản ánh một cách đệ quy.

Ví dụ 2

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

Đầu ra

5 4 3 2 1 1 2 3 4 5