Buổi học 8 (18/07/2025): Chữa bài tập về nhà, ôn tập Python cơ bản và giới thiệu Hàm (Function)
Buổi học tập trung vào việc chữa các bài tập về nhà, ôn tập kiến thức Python cơ bản, và giới thiệu khái niệm Hàm (Function). Điểm nhấn của buổi học là phương pháp tư duy logic để giải quyết vấn đề, thay vì chỉ ghi nhớ công thức hay sao chép code.
I. Chữa Bài Tập Về Nhà & Ôn Tập Kiến Thức Cơ Bản
Giáo viên chữa lần lượt các bài tập đã giao, đồng thời giải thích sâu hơn về tư duy logic đằng sau mỗi bài toán.
1. Bài toán về Biến, Kiểu dữ liệu và Toán tử:
Bài 1: Đổi nhiệt độ từ độ C sang độ F.
- Quy trình: Nhập dữ liệu bằng
input(), ép kiểu sangfloat, áp dụng công thức toán học và dùngprint()để in kết quả.
Bài 2: Đổi tổng số giây sang định dạng Giờ:Phút:Giây.
- Đây là bài toán đòi hỏi tư duy logic cao. Giáo viên nhấn mạnh tầm quan trọng của việc hiểu bản chất các phép toán.
- Công thức cốt lõi: Sử dụng phép chia lấy phần nguyên (
//) và phép chia lấy phần dư (%).Số giờ = Tổng số giây // 3600Số giây còn lại = Tổng số giây % 3600Số phút = Số giây còn lại // 60Số giây cuối cùng = Số giây còn lại % 60
- Lưu ý quan trọng: Phân biệt giữa phép chia thường (
/) trả về kiểufloatvà phép chia nguyên (//) trả về kiểuint.
Bài 3: Tính căn bậc hai của một số.
- Có hai cách tiếp cận được giới thiệu:
- Dùng hàm có sẵn từ thư viện
math:math.sqrt(số). - Sử dụng phép toán lũy thừa (
**):số ** 0.5.
- Dùng hàm có sẵn từ thư viện
- Giáo viên giải thích thêm về kiến thức toán học: Lũy thừa với số mũ
0.5(tức 1/2) tương đương với việc lấy căn bậc hai.
2. Bài toán về Cấu trúc điều kiện if-elif-else:
Ôn tập quy tắc của if-elif-else:
ifluôn đứng đầu.elif(ngược lại nếu) đứng giữa, có thể có nhiềuelif.else(ngược lại) luôn đứng cuối và chỉ có một.- Nguyên tắc: Một khối
if-elif-elsehoàn chỉnh sẽ chỉ thực thi một và chỉ một nhánh điều kiện đúng đầu tiên mà nó gặp. - Toán tử logic:
and(và) yêu cầu tất cả điều kiện phải đúng;or(hoặc) chỉ cần một điều kiện đúng.
Bài 4: So sánh 3 số - Bài học về Tư duy Lập trình (Điểm nhấn của buổi học)
- Giáo viên nhấn mạnh rằng mục tiêu của bài toán này không chỉ là tìm ra số lớn nhất, mà là rèn luyện tư duy logic để giải quyết vấn đề từ gốc rễ, một kỹ năng cốt lõi trong lập trình.
- Hướng dẫn tư duy từng bước (thay vì học thuộc lòng code):
- Bắt đầu bằng một phép so sánh đơn giản: Lấy
số thứ nhấtso sánh vớisố thứ hai. - Rẽ nhánh logic:
- Trường hợp 1: Nếu
số thứ nhất > số thứ hai:- Suy luận:
số thứ haichắc chắn không thể là số lớn nhất. Vấn đề bây giờ đã được thu hẹp lại. - Hành động tiếp theo: Chỉ cần so sánh
số thứ nhấtvớisố thứ ba.- Nếu
số thứ nhất > số thứ ba->số thứ nhấtlà lớn nhất. - Ngược lại ->
số thứ balà lớn nhất.
- Nếu
- Suy luận:
- Trường hợp 2: Ngược lại (tức là
số thứ nhất <= số thứ hai):- Suy luận:
số thứ nhấtchắc chắn không phải là số lớn nhất. - Hành động tiếp theo: Chỉ cần so sánh
số thứ haivớisố thứ ba.- Nếu
số thứ hai > số thứ ba->số thứ hailà lớn nhất. - Ngược lại ->
số thứ balà lớn nhất.
- Nếu
- Suy luận:
- Trường hợp 1: Nếu
- Bắt đầu bằng một phép so sánh đơn giản: Lấy
- Kết luận: Cách tư duy lồng ghép
if-elsenày mô phỏng chính xác quá trình loại trừ và suy luận của con người. Việc hiểu được luồng tư duy này quan trọng hơn nhiều so với việc chỉ nhớ cú phápif-elif-elsengắn gọn mà AI có thể cung cấp. Học lập trình là học cách giải quyết vấn đề, không phải học thuộc lòng giải pháp.
Bài 5: Xếp loại học lực dựa trên điểm.
- Đây là ví dụ điển hình cho việc sử dụng chuỗi
if-elif-elseđể kiểm tra các khoảng giá trị liên tiếp. - Một kỹ thuật được giới thiệu là dùng một biến
xep_loaiđể lưu kết quả, và chỉprint()một lần ở cuối cùng, giúp code sạch sẽ hơn.
Bài 6: Kiểm tra năm nhuận.
- Bài toán này dùng để luyện tập cách kết hợp các điều kiện phức tạp bằng
andvàor. - Quy tắc năm nhuận:
(năm % 400 == 0) or (năm % 4 == 0 and năm % 100 != 0)
II. Giới thiệu Kiến Thức Mới: Hàm (Function) trong Python
1. Khái niệm và Lợi ích:
- Hàm là một khối mã được đặt tên, có thể tái sử dụng nhiều lần, giúp chương trình gọn gàng, dễ đọc và dễ quản lý.
2. Cú pháp và Quy tắc:
- Dùng từ khóa
defđể định nghĩa vàreturnđể trả về giá trị.
3. Quy tắc bắt buộc khi đặt tên Biến và Hàm:
- Đây là những quy tắc mà Python yêu cầu phải tuân thủ, nếu sai sẽ gây lỗi chương trình.
- Ký tự hợp lệ: Tên chỉ được chứa chữ cái (a-z, A-Z), số (0-9), và dấu gạch dưới (
_). - Không được bắt đầu bằng số: Tên
1_bienlà sai, nhưngbien_1là đúng. - Không được trùng với các từ khóa của Python: Không thể đặt tên biến/hàm là
if,else,for,def,return... vì đây là những từ đã được Python sử dụng cho các mục đích riêng.
- Ký tự hợp lệ: Tên chỉ được chứa chữ cái (a-z, A-Z), số (0-9), và dấu gạch dưới (
4. Phân biệt Quy tắc (Rules) và Quy ước (Conventions):
- Ngoài các quy tắc bắt buộc trên, cộng đồng lập trình viên còn có các quy ước để code dễ đọc hơn (ví dụ: đặt tên biến/hàm bằng chữ thường và dùng gạch dưới để nối các từ -
snake_case, đặt tên hằng số bằng chữ in hoa -PI = 3.14). Những quy ước này không bắt buộc nhưng rất nên tuân theo.
III. Phương Pháp Học Tập và Dặn Dò
-
Tư duy là số một: Luôn tự hỏi "Tại sao lại giải quyết như vậy?" trước khi xem đáp án. Hãy thử tự phác thảo các bước giải quyết ra nháp.
-
Sử dụng AI như một người gia sư, không phải một cái máy chép bài:
- Học cách tư duy: Thay vì hỏi "Viết code cho bài X", hãy hỏi "Hãy hướng dẫn tôi từng bước suy nghĩ để giải bài X".
- Đối thoại và phản biện: Hỏi lại AI: "Tại sao bạn chọn cách này mà không phải cách khác?", "Ưu/nhược điểm của giải pháp này là gì?".
-
Lưu ý khi học với AI: Xử lý các khái niệm nâng cao
- Đôi khi, AI có thể đưa ra câu trả lời chứa các kiến thức vượt quá trình độ hiện tại của bạn (ví dụ, khi hỏi về hàm, AI có thể đề cập đến
lambda- một khái niệm nâng cao). - Khi gặp tình huống này, hãy chủ động điều khiển cuộc trò chuyện:
- Cung cấp ngữ cảnh: "Hãy giải thích lại cho người mới bắt đầu học Python."
- Yêu cầu đơn giản hóa: "Câu trả lời này hơi phức tạp. Bạn có thể giải thích theo cách đơn giản hơn, chỉ dùng kiến thức về
if-elsevà biến không?" - Tạm thời bỏ qua: Nếu thấy một khái niệm quá lạ, bạn có thể tạm thời bỏ qua nó và tập trung vào phần chính của bài học.
- Đôi khi, AI có thể đưa ra câu trả lời chứa các kiến thức vượt quá trình độ hiện tại của bạn (ví dụ, khi hỏi về hàm, AI có thể đề cập đến
IV. Giao Bài Tập Về Nhà
- Giao 5 bài tập về nhà liên quan đến Hàm và
if-else. - Yêu cầu buổi tới: Mỗi bạn sẽ chọn 1 bài để trình bày và giải thích luồng tư duy của mình.