Trong bài viết này, chúng ta hãy tìm hiểu cách triển khai câu lệnh if trong Python với phép đánh giá nhiều điều kiện
Đối với những bạn vội vàng, đây là phiên bản ngắn của câu trả lời
Câu lệnh “if” có nhiều điều kiện. Câu trả lời ngắn
Bạn có thể sử dụng các toán tử logic “and”/”or” trong Python để triển khai các câu lệnh “if” với nhiều điều kiện
Ví dụ
x = 10
y = 5
z = 25
# usage of "and" operator
if [x > y] and [y < z]:
print['both [x>y] and [y>z] are true']
# usage of "or" operator
if [x < y] or [y < z]:
print['either [x < y] or [y < z] is true']
Ví dụ này là đủ để hầu hết các bạn quay lại mã của mình và bắt đầu hack, tôi cho là vậy
Nhưng đó chỉ là phiên bản ngắn của câu trả lời
Để nắm vững khái niệm về cách thức hoạt động của 'nếu' trong python, hãy theo dõi phiên bản câu trả lời dài hơn và nhiều thông tin hơn, nơi chúng tôi khám phá
- 2 phần của câu lệnh if,
- biểu thức là gì và làm thế nào để đánh giá chúng,
- cách kết hợp nhiều hơn 2 điều kiện,
- cách kết hợp các toán tử “and”/“or” để đưa ra quyết định,
- cách tránh những cạm bẫy phổ biến khi thực hiện nhiều hơn 2 điều kiện và
- thực hành tốt nhất để viết mã "dễ đọc"
với sự giúp đỡ của một số ví dụ khác
Vì vậy, hãy bắt đầu
Câu lệnh “if” hoạt động như thế nào trong Python
Tương tự như C, C++, Java và nhiều ngôn ngữ lập trình khác, trong Python câu lệnh if bao gồm 2 phần như trong hình minh họa bên dưới
và thu được kết quả 24
Ngoài ra, trong Python, mọi giá trị boolean của số nguyên khác không là True
Vì vậy, dòng-4 trong Ví dụ # 6 ở trên được đánh giá là
x = True
y = True
if x and y:
print["Both x and y are True"]
2mà sau đó đã trở thành
if True:
và do đó câu lệnh in đã được thực thi
câu lệnh “if” với điều kiện NOT
Logic “Không” đã được đề cập kỹ lưỡng trong một bài viết riêng được đưa ra trong liên kết bên dưới, vì vậy tôi sẽ để bạn đọc bài viết đó nếu bạn chưa quen với khái niệm đó
Trăn trở “nếu không”. Giải thích với các ví dụ
Tiếp theo, chúng ta hãy xem cách sử dụng kết hợp các điều kiện AND, OR trong Python
Câu lệnh “if” với sự kết hợp của các điều kiện AND/OR
Như bạn có thể đã đoán, điều này khá đơn giản trong python, chỉ cần viết ra các điều kiện của bạn và đặt các toán tử “and” và “or” ở bất cứ đâu bạn cho là phù hợp nhất
Hãy để chúng tôi xem một ví dụ
x = True
y = True
if x and y:
print["Both x and y are True"]
4bạn nghĩ gì sẽ được in ở đây?
Hãy để tôi cung cấp cho bạn một manh mối từ con trăn. tài liệu tổ chức
Python đánh giá các biểu thức từ trái sang phải
Điều này có nghĩa là trong ví dụ trên của chúng tôi, python đã đánh giá các biểu thức theo thứ tự sau
- [a > b] được đánh giá là Sai
- [b < c] được đánh giá là True
- [c < d] được đánh giá là True
Sau đó, dòng-6 trở thành
x = True
y = True
if x and y:
print["Both x and y are True"]
5Bây giờ vì các biểu thức được đánh giá từ trái sang phải, phần in đậm bên dưới sẽ được thực hiện trước
Sai hoặc Đúng và Đúng
và câu lệnh if sẽ trở thành
x = True
y = True
if x and y:
print["Both x and y are True"]
6mà sau đó rõ ràng đánh giá là “True” và chúng tôi nhận được đầu ra như hình bên dưới
x = True
y = True
if x and y:
print["Both x and y are True"]
7Thực hành tốt nhất #1. Sử dụng dấu ngoặc đơn
Thực hành tốt hơn để làm theo là sử dụng dấu ngoặc đơn để chỉ ra thứ tự mà chúng tôi muốn python đánh giá nội dung
Vì vậy, cách tốt hơn để viết đoạn mã trên là
x = True
y = True
if x and y:
print["Both x and y are True"]
8Bằng cách này, python hoặc bất kỳ ngôn ngữ nào khác cho vấn đề đó, được đảm bảo để đánh giá [[a > b] hoặc [b < c]] và [c < d] một cách riêng biệt và chúng tôi không phải lo lắng về các sắc thái của ngôn ngữ
Thực hành tốt nhất #2. Sử dụng Hàm để ẩn các biểu thức phức tạp
Nếu biểu thức của bạn trở nên quá phức tạp như ví dụ ở phần trước, thì tôi khuyên bạn nên sử dụng một hàm như hình bên dưới
x = True
y = True
if x and y:
print["Both x and y are True"]
9Như bạn có thể thấy, bây giờ mã dễ đọc hơn nhiều và sẽ dễ bảo trì hơn
Và với điều đó, tôi sẽ kết thúc bài viết này
Tôi hy vọng bạn đã có một khoảng thời gian tuyệt vời khi đọc nó khi tôi viết nó lên
Hãy chia sẻ nó với bạn bè và đồng nghiệp của bạn
Nếu cơn khát kiến thức của bạn vẫn chưa được giải tỏa, đây là một số bài viết khác có thể bạn quan tâm