Ở 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 condition là True thì các câu lệnh trong thân của if sẽ được thực thi. Sau condition là dấ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.
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 condition là True thì các câu lệnh trong thân của if sẽ được thực thi. Ngược lại, nếu condition là False thì các câu lệnh trong thân của else sẽ được thực thi.
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 condition1 là True thì các câu lệnh trong thân if sẽ được thực hiện. Nếu condition1 là False thì chuyển sang xem xét condition2. Nếu condition2 là True thì sẽ thực thi các câu lệnh trong thân elif. Nếu condition2 là False thì sẽ thực hiện các câu lệnh trong else.
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.