Có những tình huống xảy ra trong cuộc sống thực khi chúng ta cần phải đưa ra một số quyết định và dựa trên những quyết định này, chúng ta quyết định mình nên làm gì tiếp theo. Các tình huống tương tự cũng nảy sinh trong lập trình khi chúng ta cần đưa ra một số quyết định và dựa trên những quyết định này, chúng ta sẽ thực thi khối mã tiếp theo.

Các câu lệnh ra quyết định trong ngôn ngữ lập trình quyết định hướng của luồng thực thi chương trình. Các câu lệnh ra quyết định có sẵn trong python là:

  • Câu lệnh if
  • Câu lệnh if..else
  • Câu lệnh if lồng nhau
  • Câu lệnh if-elif liên tiếp

1. Câu lệnh if

Câu lệnh if là câu lệnh ra quyết định đơn giản nhất. Nó được sử dụng để quyết định xem một câu lệnh hoặc khối câu lệnh nhất định sẽ được thực thi hay không, tức là nếu một điều kiện nhất định là đúng thì một khối câu lệnh sẽ được thực thi nếu không thì sẽ không làm gì cả.

Cú pháp:

if condition:           
   # Statements to execute if
   # condition is true

Ở đây, điều kiện sau khi đánh giá sẽ là đúng hoặc sai. Câu lệnh if chấp nhận giá trị boolean – nếu giá trị là true thì nó sẽ thực thi khối câu lệnh bên dưới nó, ngược lại thì không. Chúng ta có thể sử dụng điều kiện với dấu ngoặc nhọn ‘(‘ ‘)’.

Như chúng ta đã biết, python sử dụng thụt đầu dòng để xác định một khối. Vì vậy, khối dưới câu lệnh if sẽ được xác định như thể hiện trong ví dụ dưới đây:

if condition:
   statement1
statement2

# Here if the condition is true, if block 
# will consider only statement1 to be inside 
# its block.
Sơ đồ câu lệnh if

# python program to illustrate If statement 
  
i = 10
if (i > 15): 
   print ("10 is less than 15") 
print ("I am Not in if") 

Kết quả:

I am Not in if

Như điều kiện hiện tại trong câu lệnh if là sai. Vì vậy, khối bên dưới câu lệnh if không được thực thi.

2. Câu lệnh if-else

Chỉ riêng câu lệnh if cho chúng ta biết rằng nếu một điều kiện đúng, nó sẽ thực thi một khối câu lệnh và nếu điều kiện sai thì không. Nhưng nếu chúng ta muốn làm điều gì đó khác nếu điều kiện sai. Đây là tuyên bố khác. Chúng ta có thể sử dụng câu lệnh else với câu lệnh if để thực thi một khối mã khi điều kiện sai.
Cú pháp:

if (condition):
    # Executes this block if
    # condition is true
else:
    # Executes this block if
    # condition is false
Sơ đồ câu lệnh if-else

Ví dụ:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------

# python program to illustrate If else statement 
#!/usr/bin/python 
  
i = 20; 
if (i < 15): 
    print ("i is smaller than 15") 
    print ("i'm in if Block") 
else: 
    print ("i is greater than 15") 
    print ("i'm in else Block") 
print ("i'm not in if and not in else Block") 

Kết quả:

i is greater than 15
i'm in else Block
i'm not in if and not in else Block

Khối mã theo sau câu lệnh else được thực thi vì điều kiện hiện tại trong câu lệnh if là sai sau khi gọi câu lệnh không nằm trong khối (không có khoảng trắng).

3. Câu lệnh if lồng nhau

Một if lồng nhau là một câu lệnh if là mục tiêu của một câu lệnh if khác. Các câu lệnh if lồng nhau có nghĩa là một câu lệnh if bên trong một câu lệnh if khác. Có, Python cho phép chúng ta lồng các câu lệnh if vào trong các câu lệnh if. tức là, chúng ta có thể đặt một câu lệnh if bên trong một câu lệnh if khác.

Cú pháp:

if (condition1):
   # Executes when condition1 is true
   if (condition2): 
      # Executes when condition2 is true
   # if Block is end here
# if Block is end here
câu lệnh if lồng nhau

Ví dụ:


# python program to illustrate nested If statement 
#!/usr/bin/python 
i = 10
if (i == 10): 
    #  First if statement 
    if (i < 15): 
        print ("i is smaller than 15") 
    # Nested - if statement 
    # Will only be executed if statement above 
    # it is true 
    if (i < 12): 
        print ("i is smaller than 12 too") 
    else: 
        print ("i is greater than 15") 

Kết quả:

i is smaller than 15
i is smaller than 12 too

4. Câu lệnh if-elif liên tiếp

Tại đây, người dùng có thể quyết định trong số nhiều tùy chọn. Các câu lệnh if được thực hiện từ trên xuống. Ngay sau khi một trong các điều kiện kiểm soát if là true, câu lệnh liên kết với if đó được thực thi và các phần còn lại khác bị bỏ qua. Nếu không có điều kiện nào là đúng, thì câu lệnh else cuối cùng sẽ được thực hiện.

Cú pháp:

if (condition):
    statement
elif (condition):
    statement
.
.
else:
    statement
Sơ đồ câu lệnh if else liên tục

Ví dụ:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------

# Python program to illustrate if-elif-else ladder 
#!/usr/bin/python 
   
i = 20
if (i == 10): 
    print ("i is 10") 
elif (i == 15): 
    print ("i is 15") 
elif (i == 20): 
    print ("i is 20") 
else: 
    print ("i is not present") 

Kết qủa:

i is 20

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!