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
Nội dung chính
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.
# 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
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
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
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:
- Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
- Ebook về python tại đây.
- Các series tự học lập trình khác
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!