Để viết if-elif-else trong một dòng trong python, chúng tôi sử dụng toán tử bậc ba. Toán tử bậc ba còn được gọi là biểu thức điều kiện. Toán tử này đánh giá điều gì đó dựa trên điều kiện là đúng hay sai. Nó thay thế nhiều câu lệnh if-else bằng một dòng
cú pháp
[True] if [expression] else [False]
hãy viết một chương trình đơn giản
a. Sử dụng câu lệnh if-else trong python
age=15 if age>18: print['major'] else: print['minor']
output: minor
b. Sử dụng toán tử bậc ba
age=15 x='minor' if age18: print['major'] else: print['minor']39 [i. e, nó được đáp ứng], thì
age=15 if age>18: print['major'] else: print['minor']72 sẽ được thực hiện, nhưng nếu
age=15 if age>18: print['major'] else: print['minor']38 là
age=15 if age>18: print['major'] else: print['minor']70 [i. e. , nó không được đáp ứng], thì
age=15 if age>18: print['major'] else: print['minor']72 sẽ không được thực thi
Chúng tôi khá tự do quyết định điều kiện và biểu thức nào có thể vì Python rất linh hoạt
Hãy xem xét một ví dụ cụ thể
output: minor3____24
Trước hết, chúng tôi xác định hai biến,
age=15 if age>18: print['major'] else: print['minor']76 và
age=15 if age>18: print['major'] else: print['minor']77. Sau đó, chúng tôi nói rằng nếu biến
age=15 if age>18: print['major'] else: print['minor']76 nhỏ hơn biến
age=15 if age>18: print['major'] else: print['minor']77, hãy in ra
output: minor90]. Thật vậy, nếu chúng tôi thực thi mã này, chúng tôi sẽ in ra kết quả này vì 3 nhỏ hơn 10
đầu ra.
output: minor91
Hãy xem xét một ví dụ phức tạp hơn
age=15 x='minor' if age18: print['major'] else: print['minor']3
Trong trường hợp này, nếu thỏa mãn điều kiện thì giá trị 13 sẽ được gán cho biến
output: minor92. Sau đó,
output: minor93 sẽ được in ra [lưu ý rằng câu lệnh
output: minor94 có thể được sử dụng cả bên ngoài và bên trong câu lệnh
age=15 if age>18: print['major'] else: print['minor']37]
Như bạn có thể thấy, chúng tôi không bị hạn chế trong việc lựa chọn một biểu thức để thực thi. Bây giờ bạn có thể thực hành nhiều hơn bằng cách viết mã phức tạp hơn
Hãy xem điều gì sẽ xảy ra nếu chúng ta thực thi đoạn mã sau
age=15 if age>18: print['major'] else: print['minor']7
Ở đây, chúng tôi đã thay đổi hướng của ký hiệu so sánh [trước đây là nhỏ hơn và bây giờ là lớn hơn]. Bạn có đoán được đầu ra không?
Sẽ không có đầu ra. Điều này xảy ra vì điều kiện chưa được đáp ứng. 3 không lớn hơn 10, vì vậy điều kiện được đánh giá là
age=15 if age>18: print['major'] else: print['minor']70 và biểu thức không được thực thi. Làm thế nào để chúng ta giải quyết vấn đề này?
tuyên bố khác
Điều gì sẽ xảy ra nếu chúng ta muốn thực thi một số mã nếu điều kiện không được đáp ứng? . Hãy xem một ví dụ
output: minor9
output: minor4
đầu ra.
output: minor91
Ở đây, trước tiên Python thực thi điều kiện if và kiểm tra xem nó có phải là
age=15 if age>18: print['major'] else: print['minor']39 không. Vì 3 không lớn hơn 10 nên không thỏa mãn điều kiện nên không in ra “x lớn hơn y. ” Sau đó, chúng tôi nói rằng trong tất cả các trường hợp khác, chúng tôi nên thực thi mã theo câu lệnh khác.
output: minor91
Hãy quay lại ví dụ đầu tiên về câu lệnh điều kiện
Nếu ngày mai trời không mưa, tôi sẽ đi chơi với bạn bè ở công viên. Nếu không, tôi sẽ ở nhà với một tách trà nóng và xem TV
Ở đây câu lệnh khác là “Nếu không. ”
Điều gì xảy ra nếu điều kiện được đáp ứng?
output: minor7
output: minor4
Trong trường hợp này, Python chỉ in ra câu đầu tiên như trước
đầu ra.
output: minor91
Nếu
age=15 if age>18: print['major'] else: print['minor']76 bằng với
age=15 if age>18: print['major'] else: print['minor']77 thì sao?
output: minor30
output: minor31
Đầu ra rõ ràng là sai vì 3 bằng 3. Chúng tôi có một điều kiện khác ngoài các ký hiệu so sánh lớn hơn hoặc nhỏ hơn;
Tuyên bố yêu tinh
Hãy viết lại ví dụ trên và thêm một câu lệnh
output: minor46
output: minor32
output: minor33
đầu ra.
output: minor48
Đầu tiên Python kiểm tra xem điều kiện
output: minor49 có được đáp ứng hay không. Không phải, vì vậy nó chuyển sang điều kiện thứ hai, trong Python, chúng tôi viết là
output: minor46, viết tắt của other if. Nếu điều kiện đầu tiên không được đáp ứng, hãy kiểm tra điều kiện thứ hai và nếu nó được đáp ứng, hãy thực hiện biểu thức. Khác, làm một cái gì đó khác. Đầu ra là “x bằng y. ”
Bây giờ chúng ta hãy quay lại một trong những ví dụ đầu tiên của chúng ta về câu điều kiện
Nếu ngày mai trời không quá nóng, tôi sẽ đi biển, nhưng nếu trời nắng, tôi sẽ đi dạo trong rừng. Tuy nhiên, nếu trời mưa, tôi sẽ ở nhà
Ở đây, điều kiện đầu tiên của chúng ta là ngày mai trời không quá nóng [
age=15 if age>18: print['major'] else: print['minor']37 tuyên bố]. Nếu điều kiện này không được đáp ứng, thì chúng ta sẽ đi dạo trong rừng [
output: minor46 tuyên bố]. Cuối cùng, nếu cả hai điều kiện đều không được đáp ứng, chúng tôi sẽ ở nhà [
output: minor97 tuyên bố]
Bây giờ hãy dịch câu này sang Python
Trong ví dụ này, chúng ta sẽ sử dụng chuỗi thay vì số nguyên để thể hiện tính linh hoạt của điều kiện
age=15 if age>18: print['major'] else: print['minor']37 trong Python
output: minor34
output: minor35
Đầu tiên, Python kiểm tra xem biến
output: minor75 có bằng “warm” hay không và nếu đúng như vậy, nó sẽ in ra
output: minor76 và dừng thực thi. Điều gì xảy ra nếu điều kiện đầu tiên không được đáp ứng?
output: minor36
output: minor37
Trong trường hợp này, Python đánh giá điều kiện đầu tiên là
age=15 if age>18: print['major'] else: print['minor']70 và chuyển sang điều kiện thứ hai. Điều kiện này là
age=15 if age>18: print['major'] else: print['minor']39, vì vậy nó in ra
output: minor79 và dừng thực thi
Nếu cả hai điều kiện đều không được đáp ứng, thì nó sẽ in ra
output: minor40
Tất nhiên, bạn có thể sử dụng bao nhiêu câu lệnh
output: minor46 mà bạn muốn. Hãy thêm nhiều điều kiện hơn và cũng thay đổi nội dung được in ra trong câu lệnh
output: minor97 thành
output: minor43 [ví dụ: nếu ngày mai là “f”, chúng tôi không biết ý nghĩa của nó]
output: minor38
output: minor39
Đoán những gì được in ra?
Nhiều điều kiện
Bây giờ chúng ta hãy thêm một số phức tạp. Nếu chúng ta muốn đáp ứng nhiều điều kiện trong một câu lệnh
age=15 if age>18: print['major'] else: print['minor']37 thì sao?
Giả sử chúng ta muốn dự đoán một quần xã sinh vật [i. e. , sa mạc hoặc rừng nhiệt đới] dựa trên hai phép đo khí hậu. Nhiệt độ và độ ẩm. Ví dụ: nếu trời nóng và khô thì đó là sa mạc nóng, nhưng nếu trời lạnh và khô thì đó là sa mạc bắc cực. Bạn có thể thấy rằng chúng ta không thể phân loại hai quần xã sinh vật này chỉ dựa trên độ ẩm của chúng [cả hai đều khô] vì vậy chúng ta cũng phải thêm thước đo nhiệt độ
Trong Python, chúng ta có thể sử dụng các toán tử logic [i. e. , và, hoặc] để sử dụng nhiều điều kiện trong cùng một câu lệnh
age=15 if age>18: print['major'] else: print['minor']37
Nhìn vào mã dưới đây
output: minor40
output: minor41
Đầu ra sẽ là
output: minor46 vì chỉ khi độ ẩm thấp và nhiệt độ cao, điều kiện kết hợp là
age=15 if age>18: print['major'] else: print['minor']39. Không đủ nếu chỉ có một trong các điều kiện là
age=15 if age>18: print['major'] else: print['minor']39
Chính thức, Python kiểm tra xem điều kiện đầu tiên của độ ẩm là
age=15 if age>18: print['major'] else: print['minor']39 [thực sự là như vậy], sau đó nó kiểm tra xem điều kiện thứ hai của nhiệt độ là
age=15 if age>18: print['major'] else: print['minor']39 [và nó là] và chỉ trong trường hợp này, điều kiện kết hợp là
age=15 if age>18: print['major'] else: print['minor']39. Nếu ít nhất một trong các điều kiện này không được đáp ứng, thì điều kiện kết hợp sẽ ước tính là
age=15 if age>18: print['major'] else: print['minor']70
Nếu chúng ta muốn đáp ứng một trong hai [hoặc nhiều] điều kiện thì sao?
Hãy xem một ví dụ. Giả sử bạn có một danh sách các số từ 1 đến 14 [bao gồm] và bạn muốn trích xuất tất cả các số nhỏ hơn 3 hoặc lớn hơn hoặc bằng 10. Bạn có thể đạt được kết quả bằng cách sử dụng toán tử
output: minor303
output: minor42
output: minor43
đầu ra.
output: minor305
Ở đây Python kiểm tra xem số hiện tại trong vòng lặp
output: minor306 có nhỏ hơn 3 hay không và nếu đó là
age=15 if age>18: print['major'] else: print['minor']39, thì câu lệnh
age=15 if age>18: print['major'] else: print['minor']37 kết hợp sẽ ước tính thành
age=15 if age>18: print['major'] else: print['minor']39. Điều tương tự cũng xảy ra nếu số hiện tại bằng hoặc lớn hơn 10. Nếu câu lệnh kết hợp
age=15 if age>18: print['major'] else: print['minor']37 là
age=15 if age>18: print['major'] else: print['minor']39, thì biểu thức được thực thi và số hiện tại được thêm vào danh sách
output: minor312
Để thử nghiệm, hãy thay đổi
output: minor303 thành
output: minor314
output: minor44
output: minor45
đầu ra.
output: minor315
Trong trường hợp này, số hiện tại phải đồng thời nhỏ hơn 3 và lớn hơn hoặc bằng 10, điều này rõ ràng là không thể nên câu lệnh kết hợp
age=15 if age>18: print['major'] else: print['minor']37 ước tính thành
age=15 if age>18: print['major'] else: print['minor']70 và biểu thức không được thực thi
Để làm cho mọi thứ rõ ràng hơn, hãy xem tuyên bố
output: minor94 này
output: minor46____247
đầu ra.
age=15 if age>18: print['major'] else: print['minor']39
Ở đây Python đánh giá sự kết hợp của
age=15 if age>18: print['major'] else: print['minor']70 và
age=15 if age>18: print['major'] else: print['minor']39, và vì chúng ta có toán tử logic
output: minor303, nên ít nhất một trong những Booleans này là
age=15 if age>18: print['major'] else: print['minor']39 để đánh giá câu lệnh kết hợp thành
age=15 if age>18: print['major'] else: print['minor']39
Bây giờ, điều gì sẽ xảy ra nếu chúng ta thay đổi
output: minor303 thành
output: minor314?
output: minor48
output: minor49
đầu ra.
age=15 if age>18: print['major'] else: print['minor']70
Cả hai Booleans phải là
age=15 if age>18: print['major'] else: print['minor']39 để đánh giá điều kiện kết hợp thành
age=15 if age>18: print['major'] else: print['minor']39. Vì một trong số chúng là
age=15 if age>18: print['major'] else: print['minor']70, nên điều kiện kết hợp cũng là
age=15 if age>18: print['major'] else: print['minor']70. Đây là những gì xảy ra trong ví dụ với các số
Bạn thậm chí có thể kết hợp nhiều toán tử logic trong một biểu thức. Hãy sử dụng cùng một danh sách các số, nhưng bây giờ, chúng tôi muốn tìm tất cả các số nhỏ hơn 3 hoặc lớn hơn hoặc bằng 10 và đồng thời là số chẵn
Chúng tôi sẽ sử dụng toán tử
output: minor332 để tìm hiểu xem số đó có phải là số chẵn không. Biểu thức
output: minor333 sẽ mang lại phần còn lại của phép chia
output: minor334 cho
output: minor335. Nếu chúng ta muốn tìm hiểu xem một số có phải là số chẵn hay không, thì phần còn lại của phép chia số này cho 2 phải là 0
age=15 x='minor' if age18: print['major'] else: print['minor']39. Cả hai điều kiện là
age=15 if age>18: print['major'] else: print['minor']39, vì vậy con số này được thêm vào danh sách
Tại sao chúng ta sử dụng dấu ngoặc đơn? . Nếu chúng ta loại bỏ chúng thì sao?
age=15 x='minor' if age18: print['major'] else: print['minor']39. Điều kiện trở thành
output: minor350. Chúng tôi có toán tử
output: minor303, vì vậy điều kiện kết hợp ước tính thành
age=15 if age>18: print['major'] else: print['minor']39 và 1 được thêm vào danh sách. Thực hành bằng cách kiểm tra những gì xảy ra với các số khác
Cuối cùng, hãy xem bảng chân lý này để hiểu cách hoạt động của các toán tử logic. Ở đây, chúng tôi sẽ chỉ mô tả các toán tử logic
output: minor314 và
output: minor303, nhưng trong Python, chúng tôi cũng có toán tử
output: minor355. Chúng tôi mời bạn tìm hiểu thêm về nó và thực hành sử dụng nó bên trong các câu lệnh
age=15 if age>18: print['major'] else: print['minor']37
Input AInput BANDORFalseFalseFalseFalseTrueFalseFalseTrueFalseTrueFalseTrueTrueTrueTrueTrue
Chúng tôi có hai đầu vào, A và B, có thể là
age=15 if age>18: print['major'] else: print['minor']39 hoặc
age=15 if age>18: print['major'] else: print['minor']70. Ví dụ: ở hàng thứ hai, A là
age=15 if age>18: print['major'] else: print['minor']39, trong khi B là
age=15 if age>18: print['major'] else: print['minor']70; . Phần còn lại của bảng được đọc theo cách tương tự. Dành một phút để hiểu những gì nó nói với bạn
Câu lệnh if lồng nhau
Python là một ngôn ngữ lập trình rất linh hoạt và nó cho phép bạn sử dụng các câu lệnh if bên trong các câu lệnh if khác, được gọi là các câu lệnh
age=15 if age>18: print['major'] else: print['minor']37 lồng nhau. Hãy xem một ví dụ
age=15 x='minor' if age18: print['major'] else: print['minor']37 là
age=15 if age>18: print['major'] else: print['minor']70 và biểu thức lồng nhau đầu tiên không được thực thi. Nhưng 85 cao hơn 80, vì vậy biểu thức thứ hai được thực hiện và “Làm tốt lắm. ” được in ra
Tất nhiên, chúng tôi cũng có câu lệnh
output: minor46 bên ngoài biểu thức bên dưới câu lệnh
age=15 if age>18: print['major'] else: print['minor']37 đầu tiên. Ví dụ, dấu
age=15 if age>18: print['major'] else: print['minor']37 nào cao hơn 100?
Cố gắng gán các số khác nhau cho biến
output: minor377 để hiểu logic của mã này
Khớp mẫu trong Python 3. 10
Khớp mẫu đã được thêm vào Python 3. 10, phát hành vào tháng 10 năm 2021. Tóm lại, có thể thấy một cú pháp khác cho câu lệnh
output: minor378. Hãy xem một ví dụ bằng cách viết lại một ví dụ trước đó bằng cách sử dụng khớp mẫu
age=15 x='minor' if age18: print['major'] else: print['minor']30
age=15 if age>18: print['major'] else: print['minor']31
đầu ra
age=15 if age>18: print['major'] else: print['minor']32
Python mong đợi một số mã trong câu lệnh `if`, nhưng bạn vẫn chưa triển khai nó. Bạn có thể viết `pass` ở đó và giải quyết vấn đề này
age=15 if age>18: print['major'] else: print['minor']33
age=15 if age>18: print['major'] else: print['minor']34
đầu ra. `Tôi sẽ viết mã này sau. `
Thay vào đó, nếu bạn đặt `pass` trong câu lệnh `if`, Python sẽ không đưa ra bất kỳ lỗi nào và sẽ chuyển đến bất kỳ mã nào bạn có bên dưới câu lệnh `if`. Điều này hoạt động ngay cả khi bạn có các điều kiện khác bên dưới câu lệnh `if` đầu tiên
age=15 if age>18: print['major'] else: print['minor']35
age=15 if age>18: print['major'] else: print['minor']36
đầu ra.
output: minor390
kết luận
Trong Python, các câu lệnh
age=15 if age>18: print['major'] else: print['minor']37 luôn được sử dụng và về cơ bản, bạn sẽ thấy mình sử dụng chúng trong bất kỳ dự án hoặc tập lệnh nào mà bạn đang xây dựng, vì vậy điều cần thiết là phải hiểu logic đằng sau chúng. Trong bài viết này, chúng tôi đã đề cập đến các khía cạnh quan trọng nhất của điều kiện
age=15 if age>18: print['major'] else: print['minor']37 trong Python
- Tạo các câu lệnh
age=15 if age>18: print['major'] else: print['minor']
37 cơ bản - Thêm độ phức tạp bằng cách sử dụng câu lệnh
output: minor
97 vàoutput: minor
46 - Kết hợp nhiều điều kiện trong một câu lệnh
age=15 if age>18: print['major'] else: print['minor']
37 sử dụng toán tử logic [output: minor
303,output: minor
314] - Sử dụng các câu lệnh
age=15 if age>18: print['major'] else: print['minor']
37 lồng nhau - Sử dụng câu lệnh
output: minor
388 làm trình giữ chỗ
Với kiến thức này, bây giờ bạn có thể bắt đầu làm việc với các câu điều kiện trong Python
Vui lòng kết nối với tôi trên LinkedIn và GitHub. Mã hóa vui vẻ
Thông tin về các Tác giả
yêu cầu dữ liệu
Dataquest dạy thông qua các bài tập và dự án đầy thách thức thay vì các bài giảng video. Đó là cách hiệu quả nhất để học các kỹ năng bạn cần để xây dựng sự nghiệp dữ liệu của mình