🔀
Điều Kiện
Chapter 5
Điều Kiện
if / elif / else
Dạy Python biết "ra quyết định" — nếu thế này thì làm thế kia, ngược lại thì làm khác!
Phần 1 — Khái niệm điều kiện
Cuộc sống đầy quyết định — và code cũng vậy!
Mỗi ngày bạn đưa ra hàng trăm quyết định dựa trên điều kiện. Python cũng cần làm điều tương tự để tạo ra chương trình thông minh!
🌧️
Ví dụ thực tế:
Nếu trời mưa → mang ô đi học
Ngược lại → không cần mang ô
Trong Python: if = nếu | else = ngược lại | elif = nếu không thì
Ngược lại → không cần mang ô
Trong Python: if = nếu | else = ngược lại | elif = nếu không thì
Chương trình chạy đến đây
↓
Điều kiện đúng không?
↓
✅ True
↓
Chạy khối lệnh IF
❌ False
↓
Chạy khối lệnh ELSE
↓
Tiếp tục chạy bình thường
Cú pháp if / else — Quan trọng: THỤT LỀ!
Python dùng thụt lề (indent) để biết dòng nào thuộc khối lệnh nào — khác với nhiều ngôn ngữ dùng dấu ngoặc nhọn {}. Mỗi lần thụt lề là 4 dấu cách hoặc 1 phím Tab.
diem = 7 if diem >= 5: print("✅ Bạn đã đậu!") # thụt vào 4 dấu cách print("Chúc mừng nhé!") else: print("❌ Bạn chưa đậu...") # thụt vào 4 dấu cách print("Cố gắng hơn nhé!") print("Kết thúc chương trình") # không thụt = luôn chạy
✅ Bạn đã đậu!
Chúc mừng nhé!
Kết thúc chương trình
Chúc mừng nhé!
Kết thúc chương trình
Lỗi thường gặp nhất: Quên thụt lề!
Python sẽ báo lỗi
IndentationError ngay nếu bạn quên. Luôn dùng đúng 4 dấu cách, đừng trộn lẫn tab và space!
Phần 2 — Toán tử so sánh
6 toán tử so sánh
Dùng trong phần điều kiện của if — kết quả luôn là True hoặc False:
| Ký hiệu | Ý nghĩa | Ví dụ | Kết quả |
|---|---|---|---|
| == | Bằng nhau | 5 == 5 | True |
| != | Khác nhau | 5 != 3 | True |
| > | Lớn hơn | 7 > 5 | True |
| < | Nhỏ hơn | 3 < 1 | False |
| >= | Lớn hơn hoặc bằng | 5 >= 5 | True |
| <= | Nhỏ hơn hoặc bằng | 4 <= 3 | False |
⚠️ Đừng nhầm = với ==: Dấu
= là gán giá trị vào biến. Dấu == là so sánh xem hai thứ có bằng nhau không. Đây là lỗi siêu phổ biến của người mới học!
Phần 3 — elif và and/or
elif — Xử lý nhiều trường hợp
Khi có nhiều hơn 2 khả năng, dùng elif (viết tắt của "else if") để kiểm tra lần lượt:
if
diem >= 8
🌟 Học sinh Giỏi
elif
diem >= 6.5
✅ Học sinh Khá
elif
diem >= 5
📝 Học sinh Trung Bình
else
(mọi trường hợp còn lại)
❌ Học sinh Yếu
diem = float(input("Nhập điểm của bạn: ")) if diem >= 8: print("🌟 Học sinh Giỏi! Xuất sắc!") elif diem >= 6.5: print("✅ Học sinh Khá! Tốt lắm!") elif diem >= 5: print("📝 Học sinh Trung Bình") else: print("❌ Cần cố gắng hơn!")
🌟 Học sinh Giỏi! Xuất sắc!
and / or / not — Kết hợp điều kiện
Khi cần kiểm tra nhiều điều kiện cùng lúc, dùng ba từ khóa này:
tuoi = 14 diem = 8.5 ngoan = True # and: CẢ HAI điều kiện đều phải đúng if tuoi >= 13 and diem >= 8: print("✅ Đủ điều kiện tham gia CLB") # or: CHỈ CẦN MỘT điều kiện đúng if diem >= 9 or ngoan == True: print("🌟 Được khen thưởng!") # not: ĐẢO NGƯỢC điều kiện if not ngoan: print("⚠️ Cần chú ý thái độ") else: print("😊 Thái độ tốt!")
✅ Đủ điều kiện tham gia CLB
🌟 Được khen thưởng!
😊 Thái độ tốt!
🌟 Được khen thưởng!
😊 Thái độ tốt!
🚀 Dự án nhỏ
Máy đoán số — Trò chơi đầu tiên!
# Trò chơi đoán số đơn giản bi_mat = 42 doan = int(input("🎯 Đoán số bí mật (1-100): ")) if doan == bi_mat: print("🎉 CHÍNH XÁC! Bạn thật tuyệt!") elif doan < bi_mat and bi_mat - doan <= 10: print("🔥 Gần lắm! Cần đoán cao hơn chút!") elif doan > bi_mat and doan - bi_mat <= 10: print("🔥 Gần lắm! Cần đoán thấp hơn chút!") elif doan < bi_mat: print("📉 Số bí mật lớn hơn số bạn đoán!") else: print("📈 Số bí mật nhỏ hơn số bạn đoán!")
🧩 Kiểm tra nhanh!
Bạn đã nắm chắc if/else chưa?
Python dùng gì để phân biệt khối lệnh?
→ Thụt lề (4 dấu cách)
→ Thụt lề (4 dấu cách)
== khác = thế nào?→ == so sánh, = gán giá trị
Muốn cả hai điều kiện đều đúng, dùng gì?
→ and
→ and
Kiểm tra nhiều trường hợp, dùng gì?
→ elif
→ elif