Courses
if…elif…else là các câu lệnh điều kiện dùng trong Python giúp bạn tự động thực thi các đoạn mã khác nhau dựa trên một điều kiện cụ thể. Hướng dẫn này giải thích từng câu lệnh trong cấu trúc Python này, kèm theo ví dụ.
Để dễ dàng tự chạy toàn bộ mã ví dụ trong hướng dẫn này, bạn có thể tạo một sổ tay DataLab miễn phí đã cài sẵn Python và chứa mọi mẫu mã. Để luyện tập thêm về các câu lệnh if, hãy xem bài tập thực hành này trên DataCamp.…elif…else
Điều kiện if
if được xem là đơn giản nhất trong ba câu lệnh và đưa ra quyết định dựa trên việc điều kiện là đúng hay sai. Nếu điều kiện đúng, nó sẽ in ra biểu thức thụt lề bên dưới. Nếu điều kiện sai, nó bỏ qua, không in biểu thức thụt lề đó.
if condition:
expression
Ví dụ về if
Giả sử bạn có một biến z bằng 4. Nếu giá trị là "chẵn", bạn sẽ in z is "even". Bạn sẽ dùng toán tử chia lấy dư cho 2, phép này trả về 0 nếu z là "chẵn". Ngay khi chạy đoạn mã dưới đây, Python sẽ kiểm tra điều kiện có đúng không. Nếu True, đoạn mã tương ứng sẽ được thực thi.
z = 4
if z % 2 == 0: # True
print("z is even")
# z is even
Ví dụ nhiều dòng bên trong câu lệnh if
Hoàn toàn ổn khi có nhiều dòng bên trong câu lệnh if, như trong ví dụ dưới đây. Khi bạn chạy, tập lệnh sẽ trả về hai dòng. Nếu điều kiện không thỏa, các biểu thức sẽ không được thực thi.
z = 4
if z % 2 == 0:
print("checking " + str(z))
print("z is even")
# checking 4
# z is even
Ví dụ về một câu lệnh if sai
Hãy đổi giá trị của z sang số lẻ. Bạn sẽ thấy mã không in gì cả vì điều kiện không được thỏa mãn, tức là False.
z = 5
if z % 2 == 0: # False
print("checking " + str(z))
print("z is even")
# no output expected
Điều kiện if-else
Câu lệnh if-else bổ sung một bước nữa trong quá trình ra quyết định so với câu lệnh if đơn giản. Phần đầu của một câu lệnh if-else hoạt động tương tự như if đơn; tuy nhiên, nếu điều kiện sai, thay vì không in gì, biểu thức thụt lề dưới else sẽ được in.
if condition:
expression
else:
expression
Ví dụ về if-else
Tiếp tục ví dụ trước, nếu bạn muốn in "z is odd" khi điều kiện if sai thì sao? Trong trường hợp này, bạn chỉ cần thêm điều kiện khác là else. Nếu bạn chạy với z bằng 5, điều kiện không đúng, nên biểu thức trong nhánh else sẽ được in ra.
z = 5
if z % 2 == 0:
print("z is even")
else:
print("z is odd")
# z is odd
Điều kiện if-elif-else
Phức tạp nhất trong các điều kiện này là if-elif-else. Khi gặp tình huống có nhiều điều kiện, bạn có thể đặt bao nhiêu điều kiện elif tùy ý giữa điều kiện if và điều kiện else.
if condition:
expression
elif condition:
expression
else:
expression
Ví dụ một về điều kiện if-elif-else
Dưới đây là ví dụ khi bạn muốn có các thông báo khác nhau cho những số chia hết cho 2 và 3.
Ở đây, vì z bằng 3, điều kiện đầu tiên là False, nên chuyển sang điều kiện tiếp theo. Điều kiện tiếp theo là True. Do đó, câu lệnh in tương ứng sẽ được thực thi.
z = 3
if z % 2 == 0:
print("z is divisible by 2")
elif z % 3 == 0:
print("z is divisible by 3")
else:
print("z is neither divisible by 2 nor by 3")
# z is divisible by 3
Ví dụ hai về điều kiện if-elif-else
Trong ví dụ dưới, bạn định nghĩa hai biến room và area. Sau đó bạn xây dựng các điều kiện if-elif-else và if-else lần lượt cho room và area.
Trong điều kiện đầu tiên, bạn kiểm tra if bạn đang nhìn trong bếp, elif bạn đang nhìn trong phòng ngủ, else bạn đang nhìn quanh nơi khác. Tùy vào giá trị của biến room, điều kiện thỏa mãn sẽ được thực thi.
Tương tự, với biến area, bạn viết điều kiện if và else để kiểm tra liệu area có lớn hơn 15 hay không.
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
# Looking around in the bedroom.
# Pretty small.
Để tìm hiểu thêm về các câu lệnh elif trong Python, vui lòng xem video này từ khóa học Intermediate Python của chúng tôi.
Nội dung này được trích từ khóa học Intermediate Python của Hugo Bowne-Anderson.
Kết luận
Các câu lệnh điều kiện là một trong những viên gạch xây nền đầu tiên của tư duy lập trình trong Python.
Những gì chúng ta đã đề cập:
-
ifchạy một khối mã chỉ khi điều kiện là đúng. -
if-elsethêm một nhánh dự phòng chạy khi điều kiện là sai. -
if-elif-elsecho phép bạn kiểm tra nhiều điều kiện theo thứ tự và thực thi khối gắn với điều kiện đầu tiên đúng.