Các câu lệnh có điều kiện trong Python (conditional statements in python) được sử dụng để thực thi một số khối mã dựa trên các điều kiện cụ thể. Các câu lệnh này giúp kiểm soát luồng của chương trình, khiến chương trình hoạt động khác nhau trong các tình huống khác nhau
Trong bài viết này, ptdulieu cùng bạn sẽ tìm hiểu cách sử dụng các câu lệnh if, else và elif trong Python, cùng với một số ví dụ về cách sử dụng chúng trong thực tế.
Table of Contents
Câu lệnh if...else của Python
Trong lập trình máy tính, câu lệnh if là một câu lệnh có điều kiện. Nó được sử dụng để thực thi một khối mã chỉ khi một điều kiện cụ thể được đáp ứng. Ví dụ:
Giả sử chúng ta cần xếp loại khác nhau cho học sinh dựa trên điểm số của họ.
- Nếu học sinh đạt điểm trên 90, hãy cho điểm A
- Nếu học sinh đạt điểm trên 75, cho điểm B
- Nếu học sinh đạt điểm trên 65, hãy cho điểm C
Những nhiệm vụ có điều kiện này có thể được thực hiện bằng cách sử dụng câu lệnh if.
Cách sử dụng câu lệnh if trong Python
Điều kiện có thể là bất kỳ biểu thức nào đánh giá thành giá trị Boolean (Đúng hoặc Sai). Nếu điều kiện là Đúng, khối mã thụt lề bên dưới câu lệnh if sẽ được thực thi. Nếu điều kiện là Sai, khối mã sẽ bị bỏ qua.
if condition:
# code to execute if condition is true
Ví dụ về cách sử dụng câu lệnh if để kiểm tra xem một số có phải là số dương hay không:
num = 5
if num > 0:
print("Số này là số dương.")
#kết quả: Số này là số dương.
Trong ví dụ này, chúng ta sử dụng toán tử > để so sánh giá trị của num với 0. Nếu num lớn hơn 0, khối mã thụt lề bên dưới câu lệnh if sẽ được thực thi và thông báo "Số này là số dương" sẽ được in ra.
Ví dụ khác
#if statement
age = 19
if age >= 18:
print("Bạn đủ tuổi để bỏ phiếu:")
#kết quả: Bạn đủ tuổi để bỏ phiếu:
#if statement
a = 'python'
if a in ['python', 'java', 'golang']:
print('Ngôn ngữ chương trình của bạn là', a)
#kết quả: Ngôn ngữ chương trình của bạn là python
#if statement
age = 18
gender = 'Female'
if age >= 18 and gender == 'Female':
price = 5
print("Chi phí của bạn là: $" + str(price))
#kết quả: Chi phí của bạn là: $5
#if statement
age = 18
gender = 'Female'
if age >= 18 or gender == 'Male':
price = 8
print("Giá vé của bạn là: $" + str(price))
#kết quả: Giá vé của bạn là: $8
Cách sử dụng câu lệnh else trong Python
Câu lệnh này else cho phép bạn thực thi một khối mã khác nếu điều kiện if là False. Sau đây là cú pháp cơ bản:
if condition:
# code to execute if condition is true
else:
# code to execute if condition is false
Nếu điều kiện là Đúng, khối mã thụt lề bên dưới câu lệnh if sẽ được thực thi và khối mã thụt lề bên dưới câu lệnh else sẽ bị bỏ qua.
Nếu điều kiện là Sai, khối mã thụt lề bên dưới câu lệnh else sẽ được thực thi và khối mã thụt lề bên dưới câu lệnh if sẽ bị bỏ qua.
Sau đây là một ví dụ về cách sử dụng câu lệnh if-else để kiểm tra xem một số là dương hay âm:
num = -5
if num > 0:
print("Số này là số dương.")
else:
print("Số này là số âm.")
#kết quả: Số này là số âm.
Trong ví dụ này, chúng ta sử dụng một câu lệnh if-else để kiểm tra xem num có lớn hơn 0 không. Nếu lớn hơn 0, thông báo "Số này là số dương." sẽ được in ra. Nếu không (tức là num là số âm hoặc bằng không), thông báo "Số này là số âm." sẽ được in ra.
Ví dụ khác
#if-else statement
language = 'R'
ver = '3.2.0'
dict_ = {'Python': '3.11', 'Golang': '1.19', 'Java': '18'}
if language in dict_.keys() and ver in dict_.values():
print('Passed')
else:
print('Failed')
#kết quả: Failed
#if-else statement
age = 19
if age >= 18:
print("Bạn đủ tuổi để bỏ phiếu:")
else:
print("Bạn chưa thể bỏ phiếu")
#kết quả: Bạn đủ tuổi để bỏ phiếu:
#if-else statement
a = 5
b = 5
if a == b != 1 and a % 5 == 0:
c = 113
else:
c = 115
print(c)
#kết quả: 113
Cách sử dụng câu lệnh if…elif…else trong Python
Câu lệnh này if...else được sử dụng để thực thi một khối mã trong số hai lựa chọn thay thế.
Tuy nhiên, nếu chúng ta cần phải lựa chọn giữa nhiều hơn hai phương án, chúng ta sẽ sử dụng câu lệnh if...elif...else.
elif có nghĩa là else, if.
if condition1:
# code block 1
elif condition2:
# code block 2
elif condition3:
# code block 3
else:
# code block 4
Ví dụ: Câu lệnh if…elif…else của Python
number = -5
if number > 0:
print('Số dương')
elif number < 0:
print('Số âm')
else:
print('Số 0')
print('Câu lệnh này luôn được thực hiện')
#kết quả:
Số âm
Câu lệnh này luôn được thực hiện
Trong ví dụ này, điều kiện đầu tiên, number > 0, được đánh giá là False. Trong trường hợp này, điều kiện thứ hai được kiểm tra.
Điều kiện thứ hai, number < 0, được đánh giá là True. Do đó, các câu lệnh bên trong khối elif được thực thi.
Trong chương trình trên, điều quan trọng cần lưu ý là bất kể giá trị của biến number là gì, chỉ có một khối mã được thực thi.
Ví dụ khác
# if-elif-else statement
age = 12
if age <= 4:
cost = 0
elif age < 10:
cost = 10
else:
cost = 20
print("Chi phí của bạn là: $" + str(cost) + '.')
#kết quả: Chi phí của bạn là: $20.
Cách sử dụng câu lệnh if lồng nhau trong Python
Có thể bao gồm một câu lệnh if bên trong một câu lệnh if khác (Python Nested if Statements). Ví dụ,
number = 5
# câu lệnh if bên ngoài
if number >= 0:
# câu lệnh if bên trong
if number == 0:
print('Số là số 0')
# câu lệnh else bên trong
else:
print('Số là số dương')
# câu lệnh else bên ngoài
else:
print('Số là số âm')
#kết quả: Số là số dương
Các trường hợp sử dụng cho các câu lệnh có điều kiện
Ví dụ 1: Kiểm tra xem một số là chẵn hay lẻ.
num = 4
if num % 2 == 0:
print("Số đó là số chẵn.")
else:
print("Số này là số lẻ.")
#kết quả: Số đó là số chẵn.
Trong ví dụ này, chúng ta sử dụng toán tử (%) để kiểm tra xem num có chia hết cho 2 hay không.
Nếu phần dư của num chia cho 2 là 0, điều kiện num % 2 == 0 là Đúng (True) và khối mã thụt lề bên dưới câu lệnh if sẽ được thực thi. Nó sẽ in ra thông báo "Số đó là số chẵn."
Nếu phần còn lại không phải là 0, điều kiện là Sai (False) và khối mã thụt vào bên dưới câu lệnh else sẽ được thực thi, in ra thông báo "Số này là số lẻ".
Ví dụ 2: Gán điểm chữ dựa trên điểm số
score = 85
if score >= 90:
điểm = "A"
elif score >= 80:
điểm = "B"
elif score >= 70:
điểm = "C"
elif score >= 60:
điểm = "D"
else:
điểm = "F"
print("Điểm của bạn là:", điểm)
#kết quả: Điểm của bạn là: B
Trong ví dụ này, chúng ta sử dụng câu lệnh if-elif-else để gán điểm chữ dựa trên điểm số.
Câu lệnh if kiểm tra xem điểm có lớn hơn hoặc bằng 90 không. Nếu lớn hơn hoặc bằng 90, điểm sẽ được đặt thành "A". Nếu không, câu lệnh elif đầu tiên sẽ kiểm tra xem điểm có lớn hơn hoặc bằng 80 không. Nếu lớn hơn hoặc bằng 80, điểm sẽ được đặt thành "B". Nếu không, câu lệnh thứ hai elif sẽ kiểm tra xem điểm có lớn hơn hoặc bằng 70 không, v.v. Nếu không đáp ứng được bất kỳ điều kiện nào, câu lệnh else sẽ gán điểm "F".
Ví dụ 3: Kiểm tra xem một năm có phải là năm nhuận không
year = 2025
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
print(year, "Là năm nhuận.")
else:
print(year, "Không phải là năm nhuận.")
else:
print(year, "là năm nhuận.")
else:
print(year, "Không phải là năm nhuận.")
#kết quả: 2025 Không phải là năm nhuận.
Trong ví dụ này, chúng ta sử dụng các câu lệnh if lồng nhau để kiểm tra xem một năm có phải là năm nhuận hay không. Một năm là năm nhuận nếu chia hết cho 4, ngoại trừ những năm chia hết cho 100 nhưng không chia hết cho 400.
Câu lệnh bên ngoài if kiểm tra xem năm có chia hết cho 4 không. Nếu chia hết cho 4, câu lệnh if bên trong sẽ kiểm tra xem năm đó có chia hết cho 100 không. Nếu chia hết cho 100, câu lệnh if trong cùng sẽ kiểm tra xem năm đó có chia hết cho 400 không. Nếu chia hết cho 400, khối mã thụt lề bên dưới câu lệnh đó sẽ được thực thi, in ra thông báo "là năm nhuận".
Nếu không, khối mã thụt lề bên dưới câu lệnh else bên trong if sẽ được thực thi, in ra thông báo "không phải là năm nhuận".
Nếu năm không chia hết cho 4, khối mã thụt vào bên dưới câu lệnh else của câu lệnh if bên ngoài sẽ được thực thi, in ra thông báo "không phải là năm nhuận".
Ví dụ 4: Kiểm tra xem một chuỗi có chứa một ký tự nhất định hay không
string = "hello, world"
char = "w"
if char in string:
print("Chuỗi chứa ký tự", char)
else:
print("Chuỗi không chứa ký tự", char)
#kết quả: Chuỗi chứa ký tự w
Trong ví dụ này, chúng ta sử dụng toán tử in để kiểm tra xem ký tự char có trong chuỗi string hay không. Nếu có, điều kiện char trong string là True và khối mã thụt lề bên dưới câu lệnh if sẽ được thực thi, in ra thông báo "Chuỗi chứa ký tự" theo sau là chính ký tự đó.
Nếu char không có trong chuỗi, điều kiện sẽ là Sai và khối mã thụt lề bên dưới câu lệnh else sẽ được thực thi, in ra thông báo "Chuỗi không chứa ký tự" theo sau là chính ký tự đó.
Các câu lệnh điều kiện (if, else và elif) là các cấu trúc lập trình cơ bản cho phép bạn kiểm soát luồng chương trình của mình dựa trên các điều kiện bạn chỉ định. Chúng cung cấp một cách để đưa ra quyết định trong chương trình của bạn và thực thi các mã khác nhau dựa trên các quyết định đó.
Điều quan trọng cần nhớ là việc thụt lề đúng cách rất quan trọng khi sử dụng các câu lệnh điều kiện (Condition Statenment) trong Python, vì nó xác định khối mã nào được thực thi dựa trên điều kiện.