Lệnh if trong Python được dùng như thế nào? Khi nào sử dụng if else trong Python? Hãy cùng Quantrimang.com tìm hiểu nhé!
Đưa ra quyết định là nhiệm vụ quan trọng nhất ở hầu hết ngôn ngữ lập trình. Đúng như tên gọi, việc đưa ra quyết định cho phép lập trình viên chạy một khối code cụ thể. Ở đây, các quyết định được đưa ra dựa trên tính hợp lệ của từng điều kiện cụ thể. Kiểm tra tình trạng là “cốt lõi” của việc đưa ra quyết định chính xác.
Trong Python, việc đưa ra quyết định được thực hiện bởi những lệnh sau:
- Lệnh if được dùng để kiểm tra một điều kiện cụ thể. Nếu điều kiện là đúng, khối code (if-block) sẽ được thực thi.
- Lệnh if-else tương tự như lệnh if ngoại trừ thực tế rằng nó cũng cung cấp khối code cho trường hợp false của điều kiện được kiểm tra. Nếu điều kiện được cung cấp trong lệnh if là sai, lệnh else sẽ chạy.
- Lệnh if lồng nhau cho phép người dùng sử dụng lệnh if ? else bên trong lệnh if bên ngoài.
Giờ hãy cùng nhau tìm hiểu chi tiết hơn về cấu trúc if else trong Python và các lệnh if khác nhé.
Cấu trúc lệnh if trong Python
Các điều kiện trong Python và lệnh IF
Python hỗ trợ các điều kiện logic thông thường từ toán học:
- Bằng: a == b
- Không bằng: a != b
- Nhỏ hơn: a < b
- Nhỏ hơn hoặc bằng: a <= b
- Lớn hơn: a > b
- Lớn hơn hoặc bằng: a >= b
Những điều kiện trên có thể được dùng theo nhiều cách, phổ biến nhất trong “if statements” - lệnh if và loops - vòng lặp.
Lệnh if được viết bằng cách dùng từ khóa if.
if dieu_kien Khối lệnhỞ đây, chương trình đánh giá dieu_kien và sẽ thực hiện các lệnh khi dieu_kien là True. Nếu dieu_kien 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 True. 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 có một số lệnh print() không được viết thụt lề, điều này nói lên rằng: print() này 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 dieu_kien: Khối lệnh của if else: Khối lệnh của elseLệ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:
# Chuong trinh kiem tra xem so am hay duong # Va hien thi thong bao phu hop num = 3 # Hay thu chuong trinh voi 2 gia tri sau: # num = -5 # num = 0 if num >= 0: print("So duong hoac bang 0") else: print("So am")Trong ví dụ 2, khi biến num bằng 3, biểu thức kiểm tra là True và phần lệnh sau if được thực hiện, phần else sẽ bị bỏ qua.
Nếu num bằng -5, biểu thức kiểm tra là False và phần khối lệnh sau else sẽ được thực thi, phần nội dung của if bị bỏ qua.
Nếu num bằng 0, biểu thức kiểm tra là True và phần lệnh sau if được thực thi, phần else sẽ bị bỏ qua.
Lệnh if...elif...else trong Python
Cấu trúc lệnh if...elif...else
if dieu_kien1: Khối lệnh của if elif dieu_kien2: Khối lệnh của elif else: Khối lệnh của elseelif 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 dieu_kien1 là sai, nó sẽ kiểm tra dieu_kien2 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 nếu điều kiện là True.
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: 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ươngKết quả 2:
Nhập một số: -5 Số âmKết quả 3:
Nhập một số: 0 Số KhôngVí dụ 5:
x = 41 if x > 10: print("Above ten,") if x > 20: print("and also above 20!") else: print("but not above 20.")Lệnh pass trong Python
Các lệnh if không thể trống, nhưng nếu vì lí do nào đó, bạn có lệnh if không chứa nội dung, hãy đặt trong lệnh pass để tránh lỗi.
Ví dụ:
a = 33 b = 200 if b > a: passNhững câu hỏi thường gặp về các lệnh điều kiện trong Python
Điều gì xảy ra khi điều kiện If không được đáp ứng?
Nếu lệnh điều kiện là true, khối code bao gồm trong lệnh if sẽ chạy. Thế nhưng, nếu điều kiện if không đáp ứng, code bên trong dấu ngoặc nhọn bị bỏ qua và lệnh if tiếp theo sẽ chạy. Nó hiện một thông báo lỗi vì không khớp với điều kiện if được chỉ định.
Khi nào điều kiện else không hoạt động?
Đôi khi, bạn không nhận được kết quả mong muốn bằng cách dùng điều kiện else. Đó là do một lỗi logic xảy ra trong chương trình. Vấn đề này thường xuất hiện khi một chương trình có nhiều hơn hai câu lệnh hoặc điều kiện. Nếu gặp sự cố với lệnh else, nguyên nhân có thể do bạn đã điều hướng toán tử rằng dấu “;” đánh dấu phần kết luận của lệnh if. Vì thế, khi phát hiện ra else sau vài bước, nó bắt đầu báo cáo.
Else và While Else có ý nghĩa gì trong Python?
Python cung cấp các tính năng hữu ích như for-else và while-else. Khối else có thể được dùng ngay lập tức sau vòng lặp for và while. Nếu lệnh break không kết thúc vòng lặp, khối else sẽ được triển khai.
Cú pháp cho lệnh for-else Python là:
Cho i trong range(n):
#code
Else:
#code
Cú pháp cho while-else Python là:
Điều kiện while:
#code
Else:
#code
Dấu == nghĩa là gì trong Python?
Sự cân bằng của hai đối tượng được so sánh bằng toán tử '= ='. Trong Python, một dấu bằng '=' phân bổ một giá trị cho một biến, trong khi hai dấu bằng '==' kiểm tra xem hai biểu thức có cho cùng một giá trị hay không. Nói chung, bạn đang so sánh giá trị của hai mặt hàng. Nếu bạn muốn đánh giá xem hai đối tượng có chia sẻ các đặc điểm giống nhau hay không và không bận tâm xem chúng được lưu ở đâu trong bộ nhớ, thì đây là tất cả những gì bạn cần.
Trên đây là những điều bạn cần biết về cách dùng lệnh if và các hàm điều kiện khác trong Python. Hi vọng bài viết hữu ích với các bạn.
Giờ bạn đã nắm được những yếu tố cơ bản khi sử dụng lệnh if trong Python rồi. Hãy thử làm bài kiểm tra nhẹ nhàng sau để xem bạn đã thực sự hiểu bài chưa nhé!
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é.