Giới Thiệu Về Lệnh Điều Kiện Trong Python (If,Else)

Lệnh điều kiện trong Python

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

Code minh họa lệnh điều kiện trong Python
Hình 1. Code minh họa 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.

Viết code lệnh rẽ nhánh If..Else trong Python
Hình 2. Viết code lệnh rẽ nhánh If..Else trong Python

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.

Dùng lệnh Elif trong Python
Hình 3. Dùng lệnh Elif trong Python

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.

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *