Lệnh if, if...else, if...elif...else trong Python
Trong phần trước chúng ta đã tìm hiểu qua về một số kiểu dữ liệu trong Python và cách dùng, cũng biết một chút về lệnh While trong Python. Ở phần này, bạn sẽ biết thêm về lệnh phổ biến nhất trong Python là if. Nếu đã từng học ngôn ngữ lập trình khác hẳn bạn ...
Trong phần trước chúng ta đã tìm hiểu qua về một số kiểu dữ liệu trong Python và cách dùng, cũng biết một chút về lệnh While trong Python. Ở phần này, bạn sẽ biết thêm về lệnh phổ biến nhất trong Python là if.
Nếu đã từng học ngôn ngữ lập trình khác hẳn bạn đã biết công dụng của lệnh này, nhưng trong ngôn ngữ lập trình Python nó có thêm một số đặc điểm khá thú vị. Hãy cùng tìm hiểu nhé.
Việc ra quyết định là cần thiết khi chúng ta muốn thực thi một đoạn code chỉ khi nó thỏa mãn kiện nào đó. Lệnh if...elif...else được sử dụng trong Python để phục vụ cho mục đích này. Sau đây chúng ta sẽ đi tìm hiểu về các câu lệnh if trong Python, mỗi mục đều có ví dụ và diễn giải cụ thể để bạn hiểu rõ.
Nội dung chính:
- Cấu trúc lệnh if trong Python
- Lệnh if...else
- Lệnh if...elif...else trong Python
- Lệnh if lồng nhau trong Python
Cấu trúc lệnh if trong Python
if điều kiện
khối lệnh
Ở đây, chương trình đánh giá điều kiện và sẽ thực hiện các lệnh khi điều kiện là True. Nếu điều kiện False thì lệnh sẽ không được thực hiện.
Trong Python, khối lệnh của lệnh if được viết thụt lề vào trong. Khối lệnh của if bắt đầu với một khoảng thụt lề và dòng không thụt lề đầu tiên sẽ được hiểu là kết thúc lệnh if.
Sơ đồ lệnh if trong Python
Ví dụ 1:
# Nếu là số dương ta sẽ in một thông điệp thích hợp
num = 3
if num > 0:
print(num, "là số dương.")
print("Thông điệp này luôn được in.")
num = -1
if num > 0:
print(num, "là số dương.")
print("Thông điệp này cũng luôn được in.")
Kết quả đầu ra của chương trình trên:
3 là số dương.
Thông điệp này luôn được in.
Thông điệp này cũng luôn được in.
Trong ví dụ trên, num > 0 là điều kiện, khối lệnh của if được thực thi khi thỏa mãn điều kiện. Khi num bằng 3, kiểm tra điều kiện, thấy đúng, khối lệnh của if được thực thi. Khi num bằng -1, không khỏa mãn điều kiện, khối lệnh của if bị bỏ qua và thực hiện lệnh print() cuối cùng.
Chú ý kỹ hơn một chút, bạn sẽ thấy rằng lệnh print() không được viết thụt lề, điều này nói lên rằng, print() nằm ngoài khối lệnh if, nên nó sẽ được thực hiện, bất kể điều kiện là gì.
Lệnh if...else
Cấu trúc lệnh if...else
if điều kiện:
Khối lệnh của if
else:
Khối lệnh của else
Lệnh if...else kiểm tra điều kiện và thực thi khối lệnh if nếu điều kiện đúng. Nếu điều kiện sai, khối lệnh của else sẽ được thực hiện. Thụt đầu dòng được sử dụng để tách các khối lệnh.
Sơ đồ lệnh if...else
Ví dụ 2:
# Kiem tra xem so am hay duong
# Va hien thi thong bao phu hop
num = 3
if num >= 0:
print("So duong hoac bang 0")
else:
print("So am")
num1=-1
if num1 >= 0:
print("So duong hoac bang 0")
else:
print("So am")
Trong ví dụ 2, ta kiểm tra 2 biến là num và num1. Khi num bằng 3, thỏa mãn điều kiện num>=0 nên khối lệnh của if được thực hiện. num1=-1 không thỏa mãn điều kiện num1>=0 nên khối lệnh của else được thực hiện và bỏ qua khối lệnh của if.
Kết quả sẽ của lệnh trên sẽ in ra màn hình hai dòng: dòng trên là kết quả kiểm tra biến num và dòng dưới là biến num1.
So duong hoac bang 0
So am
Lệnh if...elif...else trong Python
Cấu trúc lệnh if...elif...else
if điều kiện:
Khối lệnh của if
elif test expression:
Khối lệnh của elif
else:
Khối lệnh của else
elif là viết gọn của else if, nó cho phép chúng ta kiểm tra nhiều điều kiện.
Nếu điều kiện là sai, nó sẽ kiểm tra điều kiện của khối elif tiếp theo và cứ như vậy cho đến hết.
Nếu tất cả các điều kiện đều sai nó sẽ thực thi khối lệnh của else.
Chỉ một khối lệnh trong if...elif...else được thực hiện theo điều kiện.
Có thể không có hoặc có nhiều elif, phần else là tùy chọn.
Sơ đồ của lệnh if...elif...else
Ví dụ 3:
x = int(input("Nhap mot so: "))
if x < 0:
x = 0
print('So am')
elif x == 0:
print('So 0')
elif x == 1:
print('So 1')
else:
print('So duong')
Kết quả đầu ra:
Nếu x là số âm thì in ra màn hình: "So am".
Nếu x = 0 thì sẽ in: "So 0".
Nếu x = 1 thì sẽ in: "So 1".
Nếu cả 3 điều kiện trên đều sai thì in: "So duong".
Lệnh if ... elif ... elif ... là sự thay thế cho câu lệnh switch hay case trong các ngôn ngữ lập trình khác.
Lệnh if lồng nhau trong Python
Bạn có thể viết lệnh if...elif...else trong một khối lệnh if...elif...else khác, và tạo thành lệnh if lồng nhau. Không giới hạn số lệnh được lồng vào lệnh khác. Thụt đầu dòng là cách duy nhất để nhận diện mức độ lồng, do đó nó có thể gây rối, nhầm lẫn. Bạn nên hạn chế sử dụng nếu có thể.
Ví dụ 4:
# Trong code này, nhập vào một số
# Kiểm tra xem số âm hay dương
# hay bằng không và hiển thị
# thông báo thích hợp
# Sử dụng hàm if lồng nhau
num = float(input("Nhập một số: "))
if num >= 0:
if num == 0:
print("Số Không")
else:
print("Số dương")
else:
print("Số âm")
Kết quả 1:
Nhập một số: 10
Số dương
Kết quả 2:
Nhập một số: -5
Số âm
Kết quả 3:
Nhập một số: 0
Số Không
Đến đây bạn đã nắm được những yếu tố cơ bản khi sử dụng lệnh if trong Python rồi. Phần tiếp theo chúng ta sẽ tìm hiểu về vòng lặp for. Các bạn nhớ theo dõi nhé.
Bài tiếp: Vòng lặp for trong Python
Bài trước: Giới thiệu qua về chuỗi, số, list trong Python