Trong bài này chúng ta sẽ cùng tìm hiểu lệnh điều kiện trong Python: lệnh if, if...else, elif và cách lồng các lệnh if với nhau.
Lệnh điều kiện là thứ giúp chương trình “biết suy nghĩ”: nếu thế này thì làm A, còn không thì làm B. Giống như bạn ra đường: nếu trời mưa thì mang áo mưa, không mưa thì thôi. Ai đã học C thì phần này sẽ rất quen, chỉ khác chút cú pháp thôi nhé.
Tổng quan về lệnh điều kiện trong Python

1. Lệnh IF
Lệnh điều kiện if trong Python hoạt động giống C: kiểm tra một điều kiện, nếu điều kiện là True thì chạy khối lệnh bên trong, còn False thì bỏ qua.
Cú pháp của lệnh IF
if điều_kiện:
# Lệnh được thực thi nếu điều kiện đúng
Điều kiện là một biểu thức logic, thường là một biến bool hoặc một phép so sánh. Khác với C, Python không cần cặp ngoặc () quanh điều kiện, nhưng bắt buộc phải có dấu hai chấm : ở cuối, và các lệnh bên trong phải thụt vào.
Ví dụ: kiểm tra một số nguyên có lớn hơn 10 hay không. Nếu đúng thì in ra “Số này lớn hơn 10”.
number = 15
if number > 10:
print("Số này lớn hơn 10")
Kết quả: “Số này lớn hơn 10”, vì number là 15. Nếu number nhỏ hơn hoặc bằng 10 thì lệnh print bị bỏ qua và không có gì được in ra.
Lưu ý: Python phân biệt chữ hoa chữ thường. Phải viết if, else, elif chữ thường, viết IF hay If là báo SyntaxError ngay. Quên dấu hai chấm ở cuối dòng if cũng là lỗi người mới gặp nhiều nhất.
2. Lệnh IF….Else
Lệnh if...else cho phép làm một việc khi điều kiện đúng và làm việc khác khi điều kiện sai.
Cú pháp:
if điều_kiện:
# Lệnh được thực thi nếu điều kiện đúng
else:
# Lệnh được thực thi nếu điều kiện sai
Điều kiện là True thì khối if chạy, là False thì khối else chạy. Luôn có đúng một trong hai khối được thực thi.

Ví dụ: kiểm tra một số nguyên có lớn hơn hoặc bằng 10 không, lần này dùng if...else.
number = 15
if number >= 10:
print("Số này lớn hơn hoặc bằng 10")
else:
print("Số này nhỏ hơn 10")
Kết quả hiển thị “Số này lớn hơn hoặc bằng 10”.
3. Lệnh elif
Khi có nhiều hơn 2 trường hợp, chúng ta dùng elif (viết tắt của else if) để kiểm tra tiếp các điều kiện khác khi điều kiện trước đó không thỏa mãn.
Cú pháp của lệnh elif
if điều_kiện_1:
# Lệnh được thực thi nếu điều kiện 1 đúng
elif điều_kiện_2:
# Lệnh được thực thi nếu điều kiện 1 sai và điều kiện 2 đúng
elif điều_kiện_3:
# Lệnh được thực thi nếu điều kiện 1 và 2 sai và điều kiện 3 đúng
else:
# Lệnh được thực thi nếu tất cả các điều kiện trên đều sai
Bạn dùng bao nhiêu elif cũng được, nhưng chỉ có một if ở đầu và tối đa một else ở cuối. Python kiểm tra lần lượt từ trên xuống, gặp điều kiện đúng đầu tiên thì chạy khối đó và bỏ qua toàn bộ phần còn lại.

Ví dụ: kiểm tra một số nguyên là số dương, số âm hay bằng 0.
number = 5
if number > 0:
print("Số này là số dương")
elif number < 0:
print("Số này là số âm")
else:
print("Số này bằng 0")
Với number = 5, kết quả là “Số này là số dương”. Nếu number âm thì in “Số này là số âm”, còn bằng 0 thì in “Số này bằng 0”.
Python không có lệnh switch...case như C (trước bản 3.10), nên chuỗi if...elif...else chính là cách thay thế quen thuộc nhất.
4. Lồng các lệnh If trong Python
Với các điều kiện phức tạp hơn, chúng ta có thể đặt một lệnh if bên trong một lệnh if khác, gọi là lồng lệnh if (nested if).
Cú pháp
if điều_kiện_1:
# Lệnh được thực thi nếu điều kiện 1 đúng
if điều_kiện_2:
# Lệnh được thực thi nếu điều kiện 2 đúng
else:
# Lệnh được thực thi nếu điều kiện 2 sai
else:
# Lệnh được thực thi nếu điều kiện 1 sai
Để ý mức thụt đầu dòng: if bên trong thụt vào một cấp so với if bên ngoài, và else nào thẳng hàng với if nào thì thuộc về if đó.
Ví dụ: kiểm tra một số nguyên có lớn hơn 10 và chia hết cho 2 hay không. Đúng thì in “Số này lớn hơn 10 và chia hết cho 2”, ngược lại in “Số này không thỏa mãn”.
number = 12
if number > 10:
if number % 2 == 0:
print("Số này lớn hơn 10 và chia hết cho 2")
else:
print("Số này không thỏa mãn")
else:
print("Số này không thỏa mãn")
Với number = 12, kết quả là “Số này lớn hơn 10 và chia hết cho 2”. Nếu số đó không lớn hơn 10, hoặc không chia hết cho 2, thì in “Số này không thỏa mãn”.
Thật ra ví dụ này viết gọn hơn được bằng toán tử and: if number > 10 and number % 2 == 0:. Lồng if chỉ nên dùng khi mỗi nhánh cần xử lý khác nhau, lồng quá 2–3 cấp thì code rất khó đọc.
Tổng kết
Lệnh điều kiện trong Python gồm if, if...else, if...elif...else và lồng if. Logic giống hệt C, chỉ cần nhớ: không cần ngoặc, bắt buộc dấu hai chấm, và thụt đầu dòng thay cho ngoặc nhọn.
Nếu thấy bài viết này có ích hãy chia sẻ với bạn bè nhé. Bài tiếp theo chúng ta sẽ học về vòng lặp for và while.

