Cấu trúc điều khiển rẽ nhánh if…else trong Python

Đây là bài 10/54 bài của series môn học Ngôn ngữ lập trình Python

Ở bài này, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh if…else trong Python. Câu lệnh if…else giúp chúng ta ra quyết định thực thi một đoạn mã nào đó nếu thỏa một điều kiện nhất định. Tư duy về cấu trúc rẽ nhánh if…else trong Python cũng giống các ngôn ngữ khác như C++, Java,… Các bạn có thể đọc bài Cấu trúc rẽ nhánh if else và minh họa với C++ hoặc Các cấu trúc điều khiển rẽ nhánh if else trong Java để tham khảo thêm nhé!

1. Câu lệnh if trong Python

Cú pháp câu lệnh if trong Python:

if condition:
    #statement(s)

Nếu conditionTrue thì các câu lệnh trong thân của if sẽ được thực thi. Sau conditiondấu hai chấm : và thân của if bắt đầu bằng thụt đầu dòng (indentation). Lưu ý: Trình biên dịch của Python sẽ hiểu bất kỳ giá trị nào của condition khác 0 sẽ là True. Còn None hoặc 0 sẽ là False.

Sơ đồ luồng xử lý của if trong Python

Ví dụ:

a = 5
if a>1:
    print("a > 1:", True)
a = 5
if a:
    print("a:", True)
a = '/'
if a:
    print("a = '/':", True)
a = 5
# False, not print True
if a>7:
    print("a > 7:", True)
a = 0
# False, not print True
if a:
    print("a:", True)
a = None
# False, not print True
if a:
    print("a:", True)
Kết quả
a > 1: True
a: True
a = '/': True

2. Câu lệnh if…else trong Python

Cú pháp câu lệnh if…else trong Python:

if condition:
    #Body of if
else:
    #Body of else

Nếu conditionTrue thì các câu lệnh trong thân của if sẽ được thực thi. Ngược lại, nếu conditionFalse thì các câu lệnh trong thân của else sẽ được thực thi.

Sơ đồ luồng xử lý của if else trong Python

Ví dụ:

num = 3
if num >= 0:
    print("num is greater than 0 or equal to 0")
else:
    print("num is smaller than 0")

num = -1
if num >= 0:
    print("num is greater than 0 or equal to 0")
else:
    print("num is smaller than 0")
Kết quả
num is greater than 0 or equal to 0
num is smaller than 0

3. Câu lệnh if…elif…else trong Python

Trong trường hợp có nhiều điều kiện để so sánh và lựa chọn, chúng ta có thể dùng câu lệnh if…elif…else. Cú pháp câu lệnh if…elif…else trong Python:

if condition1:
    #Body of if
elif condition2:
    #Body of elif
else: 
    #Body of else

Nếu condition1True thì các câu lệnh trong thân if sẽ được thực hiện. Nếu condition1False thì chuyển sang xem xét condition2. Nếu condition2True thì sẽ thực thi các câu lệnh trong thân elif. Nếu condition2False thì sẽ thực hiện các câu lệnh trong else.

Sơ đồ luồng xử lý của if elif else trong Python

Ví dụ:

num = 0
if num > 0:
    print("num is greater than 0")
elif num == 0:
    print("num is equal to 0")
else:
    print("num is smaller than 0")
Kết quả
num is equal to 0

Trong trường hợp có nhiều điều kiện hơn nữa thì chúng ta có thể sử dụng nhiều elif hơn nữa. Ví dụ:

mark = 7.5
if mark >= 9:
    print("excellent")
elif mark >= 8 and mark < 9:
    print("very good")
elif mark >= 6.5 and mark < 8:
    print("good")
elif mark >= 5 and mark < 6.5:
    print("average")
elif mark >= 3.5 and mark < 5:
    print("weak")
else:
    print("poor")
Kết quả
good

4. Các câu lệnh if lồng nhau trong Python

Các câu lệnh if có thể nằm trong một câu lệnh if khác. Người ta gọi đó là câu lệnh if lồng nhau (nested if). Ví dụ:

price = 50
quantity = 5
amount = price*quantity

if amount > 100:
    if amount > 500:
        print("Amount is greater than 500")
    else:
        if amount < 500 and amount > 400:
            print("Amount is")
        elif amount < 500 and amount > 300:
            print("Amount is between 300 and 500")
        else:
            print("Amount is between 200 and 500")
elif amount == 100:
    print("Amount is 100")
else:
    print("Amount is less than 100")
Kết quả
Amount is between 200 and 500

5. Câu lệnh if rút gọn trong Python

Chúng ta có thể viết câu lệnh if rút gọn trong 1 dòng với cú pháp sau:

if condition: statement

Ví dụ:

i = 15
if i % 3 == 0 : print(i,"is divisible by 3.")
Kết quả
15 is divisible by 3.

Chúng ta có thể viết câu lệnh if…else rút gọn trong 1 dòng với cú pháp sau:

statement_when_True if condition else statement_when_False

Ví dụ:

i = 16
print(i,"is divisible by 3.") if  i % 3 == 0 else print(i,"is not divisible by 3.")
Kết quả
16 is not divisible by 3.

Các bạn cố gắng nắm vững cấu trúc rẽ nhánh if…else bởi các bạn sẽ sử dụng rất nhiều trong quá trình lập trình của mình.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Bộ nhớ biến và quản lý bộ nhớ trong PythonCấu trúc điều khiển vòng lặp for trong Python >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.