Định lượng trong python w3schools
Bạn có thể muốn chia một vấn đề phức tạp thành nhiều vấn đề nhỏ hơn. Bạn đã quen thuộc với các vòng lặp hoặc phép lặp. Trong một số trường hợp đệ quy có thể là một giải pháp tốt hơn Trong Python, một hàm là đệ quy nếu nó gọi chính nó và có điều kiện kết thúc. Tại sao một điều kiện chấm dứt? Khóa học liên quan ví dụ đệ quyĐệ quy với một danh sách Hãy bắt đầu với một ví dụ rất cơ bản. thêm tất cả các số trong một danh sách. Nếu không có đệ quy, đây có thể là. #!/usr/bin/env python Khi chúng ta chỉ đơn giản gọi hàm tổng, hàm sẽ thêm mọi phần tử vào biến tổng và trả về. Để làm điều này đệ quy #!/usr/bin/env python Nếu độ dài của danh sách là một thì nó trả về danh sách (điều kiện kết thúc). Ngược lại, nó trả về phần tử và gọi hàm sum() trừ đi một phần tử của danh sách. Nếu tất cả các cuộc gọi được thực hiện, nó sẽ trả về điều kiện kết thúc và trả về câu trả lời Giai thừa với đệ quy #!/usr/bin/env python Khi gọi hàm giai thừa n = 3. Do đó, nó trả về n * giai thừa (n-1). Quá trình này sẽ tiếp tục cho đến khi n = 1. Nếu đạt n==1 sẽ trả về kết quả Hạn chế của đệ quyMỗi khi một chức năng gọi chính nó và lưu trữ một số bộ nhớ. Do đó, một hàm đệ quy có thể chứa nhiều bộ nhớ hơn một hàm truyền thống. Python dừng các cuộc gọi chức năng sau độ sâu 1000 cuộc gọi. Nếu bạn chạy ví dụ này. #!/usr/bin/env python Bạn sẽ nhận được lỗi RuntimeError: maximum recursion depth exceeded Trong các ngôn ngữ lập trình khác, chương trình của bạn có thể bị sập. Bạn có thể giải quyết vấn đề này bằng cách sửa đổi số lần gọi đệ quy, chẳng hạn như #!/usr/bin/env python nhưng hãy nhớ rằng vẫn có giới hạn đối với đầu vào cho hàm giai thừa. Vì lý do này, bạn nên sử dụng đệ quy một cách khôn ngoan. Như bạn đã học bây giờ đối với bài toán giai thừa, hàm đệ quy không phải là giải pháp tốt nhất. Đối với các vấn đề khác như duyệt qua một thư mục, đệ quy có thể là một giải pháp tốt Khóa học liên quan Quay lạiTiếp theo Đăng trong người mới bắt đầu 2015-09-03
Đừng điền vào đây nếu bạn là con người. Tên Địa chỉ emailThông điệp Gửi tin nhắn Hại • Thứ Hai, ngày 15 tháng 6 năm 2015 Cảm ơn về Hướng dẫn Frank • Thứ ba, ngày 16 tháng 6 năm 2015 cảm ơn hại. Sắp có thêm hướng dẫn Aj • Thứ ba, ngày 23 tháng 6 năm 2015 Đó là một con số lớn. o, Frank • Thứ Ba, ngày 23 tháng 6 năm 2015 Thanks. Sắp có thêm hướng dẫn John Youn • Thứ Tư, ngày 24 tháng 6 năm 2015 Cảm ơn rất nhiều. Tôi đang mong đợi nhiều hướng dẫn hơn Christian Ransom • Chủ nhật, ngày 26 tháng 7 năm 2015 Trong ví dụ thứ hai trên dòng 7, nó nói danh sách trả về [0] + tổng (danh sách [1. ]) có nghĩa là gì" [1. ]" làm gì? Tôi đã xem và không thấy bất cứ điều gì về điều đó ở nơi khác trong hướng dẫn Frank • Chủ nhật, ngày 26 tháng 7 năm 2015 Xin chào Christian, [1. ] trả về mọi thứ từ ký tự thứ hai Kết thúc • Thứ Hai, ngày 07 tháng 9 năm 2015 Tôi muốn nói lời cảm ơn vì hướng dẫn tuyệt vời của bạn. cảm ơn. . ) Frank • Thứ Hai, ngày 07 tháng 9 năm 2015 cảm ơn vây Fred Pouyet • Thứ 5, ngày 17 tháng 9 năm 2015 Tôi đồng ý với Fin. Cảm ơn rất nhiều vì đã tổng hợp hướng dẫn này, nó rất đơn giản để nắm bắt và không nhàm chán không giống như phần lớn các hướng dẫn |