Là sức mạnh của chức năng trong đệ quy python?
Một ví dụ về thế giới vật chất sẽ là đặ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 đệ quy Show Hàm đệ quy PythonTrong Python, chúng ta biết rằng một hàm có thể gọi các hàm khác. Hàm thậm chí có thể gọi chính nó. Các loại cấu trúc này được gọi là hàm đệ quy Hình ảnh sau đây cho thấy hoạt động của một hàm đệ quy có tên là 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 6 (ký hiệu là 6. ) là 1*2*3*4*5*6 = 720 Ví dụ về hàm đệ quy
đầu ra The factorial of 3 is 6 Trong ví dụ trên, Khi ta gọi hàm này với số nguyên dương thì nó sẽ gọi đệ quy chính nó bằng cách giảm số Mỗi hàm nhân một số với giai thừa của số bên dưới nó cho đến khi nó bằng một. Cuộc gọi đệ quy này có thể được giải thích trong các bước sau factorial(3) # 1st call with 3 3 * factorial(2) # 2nd call with 2 3 * 2 * factorial(1) # 3rd call with 1 3 * 2 * 1 # return from 3rd call as number=1 3 * 2 # return from 2nd call 6 # return from 1st call Hãy xem một hình ảnh thể hiện quy trình từng bước về những gì đang diễn ra Đệ quy của chúng tôi kết thúc khi số lượng giảm xuống 1. Đây được gọi là điều kiện cơ bản Mỗi hàm đệ quy phải có một điều kiện cơ bản để dừng đệ quy, nếu không thì hàm sẽ tự gọi nó vô hạn Trình thông dịch Python giới hạn độ sâu của đệ quy để giúp tránh các đệ quy vô hạn, dẫn đến tràn ngăn xếp Theo mặc định, độ sâu đệ quy tối đa là 1000. Nếu giới hạn bị vượt qua, kết quả là Đệ quy là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng gọi chính nó. Điều này có lợi là bạn có thể lặp qua dữ liệu để đạt được kết quả Nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng viết một hàm không bao giờ kết thúc hoặc một hàm sử dụng quá nhiều bộ nhớ hoặc sức mạnh của bộ xử lý. Tuy nhiên, khi được viết đúng, đệ quy có thể là một cách tiếp cận lập trình rất hiệu quả và thanh lịch về mặt toán học. Trong ví dụ này, tri_recursion() là một hàm mà chúng ta đã xác định để gọi chính nó ("recurse"). Chúng tôi sử dụng biến k làm dữ liệu, giá trị này giảm (-1) mỗi khi chúng tôi lặp lại. Đệ quy kết thúc khi điều kiện không lớn hơn 0 (i. e. khi nó bằng 0) Đối với một nhà phát triển mới, có thể mất một chút thời gian để tìm ra chính xác cách thức hoạt động của nó, cách tốt nhất để tìm hiểu là thử nghiệm và sửa đổi nó Chương trình sau chấp nhận một số và chỉ mục từ người dùng. Hàm đệ quy rpower() sử dụng hai giá trị này làm đối số. Hàm nhân số nhiều lần và đệ quy để trả về lũy thừa Thí dụdef rpower(num,idx): if(idx==1): return(num) else: return(num*rpower(num,idx-1)) base=int(input("Enter number: ")) exp=int(input("Enter index: ")) rpow=rpower(base,exp) print("{} raised to {}: {}".format(base,exp,rpow)) đầu raĐây là một lần chạy mẫu - Enter number: 10 Enter index: 3 10 raised to 3: 1000 Trong chương trình này, chúng tôi đọc giá trị của The factorial of 3 is 60 và The factorial of 3 is 61 từ người dùng và sau đó chúng tôi tính toán số mũ cơ sở bằng cách sử dụng hàm đệ quy The factorial of 3 is 62 Chương trình Python này tính toán số mũ cơ sở bằng cách sử dụng hàm đệ quyMã nguồn Python
đầu raEnter value of base: 2 Enter value of exponent: 3 Result is: 8.0 Điều gì tạo nên một hàm Python đệ quy?Hàm gọi chính nó được gọi là đệ quy và kỹ thuật sử dụng hàm đệ quy được gọi là đệ quy.
Điều nào sau đây không đúng về đệ quy trong Python?3. Điều nào sau đây là sai về đệ quy? . Tốc độ của chương trình sử dụng đệ quy chậm hơn tốc độ của chương trình không đệ quy tương đương .
Hàm nào là đệ quy?Hàm đệ quy là hàm lặp lại hoặc sử dụng số hạng trước đó của chính nó để tính các số hạng tiếp theo và do đó tạo thành một chuỗi các số hạng . Thông thường, chúng ta tìm hiểu về hàm số này dựa trên dãy số-hình học, trong đó có các hạng tử có sự khác biệt chung giữa chúng.
Các loại hàm đệ quy trong Python là gì?Chúng có hai loại. đệ quy gián tiếp và trực tiếp . |