1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 36 kiểu dữ liệu function trong python đệ quy (recursion)

6 10 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 394,92 KB

Nội dung

1|6 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Bài 36: KIỂU DỮ LIỆU FUNCTION TRONG PYTHON - ĐỆ QUY (RECURSION) Xem học website để ủng hộ Kteam: Kiểu liệu Function Python - Đệ quy (recursion) Mọi vấn đề lỗi website làm ảnh hưởng đến bạn thắc mắc, mong muốn khóa học mới, nhằm hỗ trợ cải thiện Website Các bạn vui lòng phản hồi đến Fanpage How Kteam nhé! Dẫn nhập Trong trước, Kteam giới thiệu đến bạn KIỂU DỮ LIỆU FUNCTION TRONG PYTHON – FUNCTIONAL TOOLS Và Kteam lại tìm hiểu với KIỂU DỮ LIỆU FUNCTION – ĐỆ QUY Python Nội dung Để đọc hiểu tốt bạn cần:   Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON Xem qua CÁCH CHẠY CHƯƠNG TRÌNH PYTHON Copyright © Howkteam.com 2|6 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM    Nắm CÁCH GHI CHÚ BIẾN TRONG PYTHON CÁC KIỂU DỮ LIỆU ĐƯỢC GIỚI THIỆU TRONG PYTHON CÂU ĐIỀU KIỆN IF TRONG PYTHON Bạn Kteam tìm hiểu nội dung sau     Giới thiệu đệ quy Minh họa đệ quy cách tính tổng Đệ quy theo phong cách Python Đệ quy vòng lặp Giới thiệu đệ quy Đệ quy mảng kiến thức nâng cao, Python khơng thường xun dùng đến, cách xử lí Python sử dụng cấu trúc vòng lặp đơn giản mà khơng cần dùng tới đệ quy Nhưng dù kĩ thuật hữu dụng mà bạn đọc nên biết Nó đơn giản việc gọi Minh họa đệ quy cách tính tổng Ta tính tổng phần tử list (hoặc sequence đó) cách dùng đệ quy (Ví dụ minh họa, thực tế làm bạn nên sử dụng hàm sum) >>> def cal_sum(lst): if not lst: # tương đương if len(lst) == 0: return else: return lst[0] + cal_sum(lst[1:]) >>> cal_sum([1, 2, 3, 4]) 10 Copyright © Howkteam.com 3|6 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM >>> cal_sum([1, 2, 3, 4, 5]) 15 Ở ví dụ trên, ta liên tục gọi lại hàm cal_sum với argument phần cịn lại List tính từ index Ở lần gọi hàm, ta để lại giá trị index List để List khơng cịn phần tử ta trả số để kết thúc đệ quy Nếu bạn thấy chưa hiểu rõ đừng lo lắng, cảm thấy khó hiểu điều thường xuyên xảy với bạn học Những lúc này, bạn nên để thêm hàm print để xem cụ thể chuyện xảy >>> def cal_sum(lst): print(lst) if not lst: return else: return lst[0] + cal_sum(lst[1:]) >>> cal_sum([1, 2, 3, 4]) [1, 2, 3, 4] [2, 3, 4] [3, 4] [4] [] 10 Nếu bạn cịn khó hiểu vẽ giấy Đâyq cách mà làm Copyright © Howkteam.com 4|6 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Đệ quy theo phong cách Python Bạn nhớ cú pháp if/else lambda khơng? Nó cịn có tên khác ternary expression Bạn áp dụng để sử dụng để đệ quy: >>> def cal_sum(lst): return if not lst else lst[0] + cal_sum(lst[1:]) >>> cal_sum([1, 2, 3]) Giả sử list có n phần tử với đệ quy cần phải có n + lần return, ta giảm bớt xuống n lần return cách: >>> def cal_sum(lst): return lst[0] if len(lst) == else lst[0] + cal_sum(lst[1:]) >>> cal_sum([1, 2, 3]) Copyright © Howkteam.com 5|6 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Lưu ý: cách không sử dụng trường hợp container rỗng Hoặc ta sử dụng packing argument: >>> def cal_sum(lst): idx0, *r = lst # idx0, r = lst[0], lst[1:] return idx0 if not r else idx0 + cal_sum(r) >>> cal_sum([1, 2, 3]) Lưu ý: cách không sử dụng container rỗng Tuy nhiên điểm lợi cách vừa ta cộng khơng số mà chuỗi, list >>> cal_sum(['a', 'b', 'c']) 'abc' >>> cal_sum([[1, 2], [3, 4], [5, 6]]) [1, 2, 3, 4, 5, 6] Đệ quy chuyển hướng Hãy xem ví dụ sau Một hàm gọi hàm khác, sau lại gọi lại hàm gọi >>> def cal_sum(lst): if not lst: return return call_cal_sum(lst) >>> def call_cal_sum(lst): return lst[0] + cal_sum(lst[1:]) >>> cal_sum([1, 2, 3, 4, 5]) 15 Copyright © Howkteam.com KHĨA PYTHON CƠ BẢN HOWKTEAM.COM 6|6 Đệ quy vịng lặp Ở ví dụ trước, phải chọn vòng lặp đệ quy để xử lí Kteam khun bạn đọc nên chọn vịng lặp Python trọng việc làm đơn giản hóa việc vịng lặp theo cách bình thường đơn giản Vịng lặp khơng u cầu bạn phải tạo hàm sử dụng Và thêm nữa, đệ quy thua vòng lặp mặt hiệu nhớ thời gian thực Kết luận Qua viết này, bạn biết thêm đệ quy Ngoài ra, bạn nắm kiến thức Python thơng qua khóa LẬP TRÌNH PYTHON CƠ BẢN Hy vọng khóa học tảng tốt để bạn tiếp tục tự nghiên cứu tiến tới khóa học Python khác Cảm ơn bạn theo dõi viết Hãy để lại bình luận góp ý để phát triển viết tốt Đừng quyên “Luyện tập – Thử thách – Không ngại khó” Copyright © Howkteam.com ... thiệu đệ quy Minh họa đệ quy cách tính tổng Đệ quy theo phong cách Python Đệ quy vòng lặp Giới thiệu đệ quy Đệ quy mảng kiến thức nâng cao, Python khơng thường xun dùng đến, cách xử lí Python. ..2|6 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM    Nắm CÁCH GHI CHÚ BIẾN TRONG PYTHON CÁC KIỂU DỮ LIỆU ĐƯỢC GIỚI THIỆU TRONG PYTHON CÂU ĐIỀU KIỆN IF TRONG PYTHON Bạn Kteam tìm hiểu nội... cần dùng tới đệ quy Nhưng dù kĩ thuật hữu dụng mà bạn đọc nên biết Nó đơn giản việc gọi Minh họa đệ quy cách tính tổng Ta tính tổng phần tử list (hoặc sequence đó) cách dùng đệ quy (Ví dụ minh

Ngày đăng: 17/12/2021, 22:48

TỪ KHÓA LIÊN QUAN

w