1. Câu lệnh IF trong Python

Câu lệnh điều kiện IF trong Python được sử dụng để đánh giá (hay kiểm tra) giá trị của một biểu thức, hay một phép toán…

Nếu như biểu thức đánh giá được cho là true thì các câu lệnh con bên trong câu lệnh IF sẽ được thực hiện. Và ngược lại nếu biểu thức đánh giá là false thì một câu lệnh khác sẽ được thực hiện.

Trong Python hỗ trợ kiểm tra các điều kiện các biểu thức logic thông thường hoặc các biểu thức toán học như:

  • Kiểm tra giá trị bằng nhau: a == b
  • Kiểm tra giá trị không bằng nhau: a != b
  • Kiểm tra giá trị có nhỏ hơn: a < b
  • Kiểm tra giá trị có lớn hơn: a > b
  • Kiểm tra giá trị có nhỏ hơn hoặc bằng: a <=  b
  • Kiểm tra giá trị có lớn hơn hoặc bằng: a >= b

Ví dụ dưới đây, sử dụng câu lệnh IF trong Python để so sánh hai giá trị của hai biến a, b. Nếu biểu thức kiểm tra được đánh giá là true thì sẽ thực hiện câu lệnh print() như sau:

# Khai bao hai bien a, b
a = 15
b = 55

# Neu b lon hon a
if b > a:
    print("b lon hon a")

Kết quả:

b lon hon a

Chú ý: Các câu lệnh con được thực hiện bên trong câu điều kiện IF phải tuân theo quy tắc thụt lề của Python để xác định phạm vi câu lệnh nằm trong đoạn IF nào trong chương trình.

Ví dụ dưới đây, câu lệnh con trong IF không tuân theo quy tắc thụt lề trong Python, nên chương trình này khi thực thi sẽ gây ra lỗi:

# Khai bao hai bien a, b
a = 15
b = 55

# Neu b lon hon a
if b > a:
print("b lon hon a")

Kết quả:

IndentationError: expected an indented block

Các câu lệnh IF sau khi thực hiện khai báo sẽ không được phép để trống, nhưng nếu bạn vì một lý do nào đó mà bạn chưa cần sử dụng đến câu lệnh IF, khi đó hãy sử dụng từ khóa pass đặt bên trong câu IF như sau:

# Khai bao hai bien a, b
a = 15
b = 55
# Neu b lon hon a
if b > a:
    pass

2. Câu lệnh IF – ELIF trong Python

Từ khóa ELIF trong câu điều kiện của Python được thể hiện rằng, một trường hợp ngược lại của câu lệnh IF ban đầu. Điều này nghĩa là, nếu như một biểu thức trong câu lệnh IF được đánh giá là false thì ngay khi đó hãy thực thi các câu lệnh bên trong trường hợp ELIF.

Ví dụ dưới đây sử dụng câu lệnh IF – ELIF để kiểm tra điều kiện cho hai biến a, b với hai trường hợp b > a và trường hợp a == b như sau:

# Khai bao hai bien a, b
a = 15
b = 15

# Neu b lon hon a
if b > a:
    print("b lon hon a")
elif a == b: # Nguoc lai, neu a bang b
    print("a bang b")

Kết quả:

a bang b

Ở ví dụ trên, chúng ta có hai biến a, b mang giá trị bằng nhau , do đó điều kiện đầu tiên không đúng, nhưng điều kiện ELIF là đúng, vì vậy chúng ta nhận được kết quả “a bang b”.

3. Câu lệnh IF – ELIF – ELSE trong Python

Câu lệnh IF – ELIF – ELSE là câu lệnh điều kiện đầy đủ nhất. Chúng bao gồm cả các trường hợp các biểu thức được đánh giá là true,  và bao gồm các các trường hợp các biểu thức được đánh giá là false.

Nếu các biểu thức trong IF được kiểm tra là true thì các câu lệnh trong IF được thực thi, tiếp theo nếu biểu thức trong ELIF là true thì các câu lệnh trong ELIF được thực thi. Và trường hợp ngược lại, các biểu thức trong câu lệnh IFELIF  false thì câu lệnh bên trong ELSE sẽ được thực thi.

Ví dụ dưới đây sử dụng câu lệnh IF – ELIF – ELSE để kiểm tra điều kiện cho hai biến a, b với ba trường hợp: b > a , trường hợp a == b và trường hợp thứ 3 là không tồn tại ở hai trường hợp trên:

# Khai bao hai bien a, b
a = 55
b = 15

# Neu b lon hon a
if b > a:
    print("b lon hon a")
elif a == b: # Nguoc lai, neu a bang b
    print("a bang b")
else: # Nguoc lai cua hai truong hop tren
  print("b khong lon hon a")
  print("a khong bang b")

Kết quả:

b khong lon hon a
a khong bang b

Ở ví dụ trên, điều kiện đầu tiên b > a là KHÔNG đúng, điều kiện thứ hai a == b cũng là KHÔNG đúng, vì vậy câu lệnh sẽ được thực thi trong ELSE và câu lệnh này hiển thị “b khong lon hon a”, “a khong bang b”

Hoặc bạn cũng có thể sử dụng câu lệnh IFELSE mà không cần đến câu lệnh ELIF như sau:

# Khai bao hai bien a, b
a = 55
b = 15

# Neu b lon hon a
if b > a:
    print("b lon hon a")
else: # Nguoc lai thi a lon hon b
    print("a lon hon b")

Kết quả:

a lon hon b

Trong ví dụ trên, ta thấy rằng trường hợp b > a là KHÔNG đúng, vì vậy ta có thể kết luận luôn trường hợp ngược lại của điều kiện ban đầu đó là hiển thị ra màn hình “a lon hon b”.

4. Sử dụng câu điều kiện IF – ELIF – ELSE trong Python

4.1 Câu lệnh IF với toán tử AND

AND là một toán tử logic và được sử dụng thường xuyên để kết hợp các câu lệnh điều kiện. Toán tử AND được đánh giá là true trong câu điều kiện IF khi và chỉ khi hai biểu thức đang kiểm tra là true.

Ví dụ kiểm tra điều kiện, a lớn hơn b và b lớn hơn c trong Python bằng câu điều kiện IF và toán tử AND như sau:

# Khai bao ba bien a, b, c
a = 55
b = 15
c = 5

# Neu a lon hon b va b lon hon c
if a > b and b > c:
    print("a lon hon b va b lon hon c")
else: # Nguoc lai, a khong lon hon b va b khong lon hon c
    print("a khong lon hon b va b khong lon hon c")

Kết quả:

a lon hon b va b lon hon c

4.2 Câu lệnh IF với toán tử OR

OR là một toán tử logic và được sử dụng thường xuyên để kết hợp các câu lệnh điều kiện. Toán tử OR được đánh giá là true trong câu điều kiện IF nếu tồn tại một hoặc cả hai biểu thức đang kiểm tra là true.

Ví dụ kiểm tra điều kiện, a lớn hơn b hoặc b lớn hơn c trong Python bằng câu điều kiện IF và toán tử OR như sau:

# Khai bao ba bien a, b, c
a = 55
b = 15
c = 5

# Neu a lon hon b hoac b lon hon c
if a > b or b > c:
    print("a lon hon b hoac b lon hon c")
else: # Nguoc lai, a khong lon hon b hoac b khong lon hon c
    print("a khong lon hon b hoac b khong lon hon c")

Kết quả:

a lon hon b hoac b lon hon c

4.3 Câu lệnh IF lồng nhau

Bạn có thể có các câu lệnh IF được đặt bên trong các câu lệnh IF, và chúng được gọi là các câu lệnh lồng nhau.

Ví dụ dưới đây, sử dụng câu lệnh lồng nhau để kiểm tra giá trị của biến x và hiển thị các đoạn thông báo ra màn hình sao cho phù hợp:

# Khai bao bien x
x = 30

# Neu x lon hon 10
if x > 10:
  print("X lon hon 10")
  # Tiep tuc kiem tra, neu x lon hon 20
  if x > 20:
    print("X cung lon hon 20")
  else: # Truong hop x khong lon hon 20
    print("X lon hon 10, nhung khong lon hon 20")

Kết quả:

X lon hon 10
X cung lon hon 20

5. Toán tử 3 ngôi trong Python

Nếu bạn chỉ có một câu lệnh để kiểm tra điều kiện và thực thi nếu điều kiện là true, khi đó bạn có thể viết tất cả chúng cùng chung một dòng. Đây được gọi là câu lệnh IF – ELSE ngắn, trong một số trường hợp, cách viết điều kiện ngắn gọn này được gọi với tên là “Toán tử 3 ngôi” trong Python.

Ví dụ đơn giản dưới đây, sử dụng toán tử 3 ngôi trong Python để so sánh giá trị giữa 2 biến a, b trên một dòng duy nhất và hiển thị kết quả:

# Khai bao hai bien a, b
a = 55
b = 15

# Hien thi A neu a lon hon b, truong hop nguoc lai hien thi B
print("A") if a > b else print("B")

Kết quả:

A