Cuộc sống của chúng ta đầy rẫy những điều kiện ngay cả khi chúng ta không chú ý đến chúng trong hầu hết thời gian. Hãy xem xét một vài ví dụ
- 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
- 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à
Bạn có được ý tưởng. Hãy xem các điều kiện hoạt động như thế nào trong máy tính. Bạn có thể đã biết rằng các chương trình trong Python được thực thi từng dòng một. Tuy nhiên, đôi khi, chúng ta cần bỏ qua một số đoạn mã và chỉ thực thi một số đoạn mã đó nếu đáp ứng một số điều kiện nhất định. Đây là nơi các cấu trúc điều khiển trở nên hữu ích. Các câu lệnh điều kiện trong Python được xây dựng trên các cấu trúc điều khiển này. Họ sẽ hướng dẫn máy tính thực hiện một chương trình
Trong hướng dẫn này, bạn sẽ học cách sử dụng câu điều kiện. Hướng dẫn này dành cho người mới bắt đầu học Python, nhưng bạn sẽ cần biết một số điều cơ bản về viết mã trong Python. Nếu không, hãy xem khóa học Python cơ bản miễn phí này
Câu lệnh if cơ bản
Trong Python, các câu lệnh
Variable z is now 13.
7 là điểm khởi đầu để triển khai một điều kiện. Hãy xem ví dụ đơn giản nhấtif :
Khi
Variable z is now 13.
8 được Python đánh giá, nó sẽ trở thành Variable z is now 13.
9 hoặc # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 [Booleans]. Như vậy, nếu điều kiện là Variable z is now 13.
9 [i. e, nó được đáp ứng], thì # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
2 sẽ được thực thi, nhưng nếu Variable z is now 13.
8 là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 [i. e. , nó không được đáp ứng], thì # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
2 sẽ không được thực thiChú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ể
if :
0if :
1Trước hết, chúng tôi xác định hai biến,
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
6 và # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
7. Sau đó, chúng tôi nói rằng nếu biến # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
6 nhỏ hơn biến # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
7, hãy in ra if :
60]. 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.
if :
61Hãy xem xét một ví dụ phức tạp hơn
if :
8Variable z is now 13.
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
if :
62. Sau đó, ________ 163 sẽ được in ra [lưu ý rằng câu lệnh ________ 164 có thể được sử dụng cả bên ngoài và bên trong câu lệnh Variable z is now 13.
7]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
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
Ở đâ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à
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 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ụ
if :
6if :
1đầu ra.
if :
61Ở đây, trước tiên Python thực thi điều kiện if và kiểm tra xem nó có phải là
Variable z is now 13.
9 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. if :
61Hã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?
Variable z is now 13.
4if :
1Trong trường hợp này, Python chỉ in ra câu đầu tiên như trước
đầu ra.
if :
61Nếu
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
6 bằng # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
7 thì sao?if :
00if :
01Đầ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
if :
16if :
02if :
03đầu ra.
if :
18Đầu tiên Python kiểm tra xem điều kiện
if :
19 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à if :
16, 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 [
Variable z is now 13.
7 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 [if :
16 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à [if :
67 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
Variable z is now 13.
7 trong Pythonif :
04if :
05Đầu tiên, Python kiểm tra xem biến
Variable z is now 13.
45 có bằng “warm” hay không và nếu đúng như vậy, nó sẽ in ra Variable z is now 13.
46 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?if :
06if :
07Trong trường hợp này, Python đánh giá điều kiện đầu tiên là
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 và chuyển sang điều kiện thứ hai. Điều kiện này là Variable z is now 13.
9, vì vậy nó in ra Variable z is now 13.
49 và dừng thực thiNếu cả hai điều kiện đều không được đáp ứng, thì nó sẽ in ra
if :
10Tất nhiên, bạn có thể sử dụng bao nhiêu câu lệnh
if :
16 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 if :
67 thành if :
13 [ví dụ: nếu ngày mai là “f”, chúng tôi không biết nghĩa của nó]if :
08if :
09Đ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
Variable z is now 13.
7 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. , and, or] để sử dụng nhiều điều kiện trong cùng một câu lệnh
Variable z is now 13.
7Nhìn vào mã dưới đây
if :
10if :
11Đầu ra sẽ là
if :
16 vì chỉ khi độ ẩm thấp và nhiệt độ cao, điều kiện kết hợp là Variable z is now 13.
9. Không đủ nếu chỉ có một trong các điều kiện là Variable z is now 13.
9Chính thức, Python kiểm tra xem điều kiện đầu tiên của độ ẩm là
Variable z is now 13.
9 [thực sự là như vậy], sau đó nó kiểm tra xem điều kiện thứ hai của nhiệt độ là Variable z is now 13.
9 [và nó là] và chỉ trong trường hợp này, điều kiện kết hợp là Variable z is now 13.
9. 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 thành # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0Nế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ử
if :
003if :
12if :
13đầu ra.
if :
005Ở đây Python kiểm tra xem số hiện tại trong vòng lặp
if :
006 có nhỏ hơn 3 hay không và nếu đó là Variable z is now 13.
9, thì câu lệnh Variable z is now 13.
7 kết hợp sẽ ước tính thành Variable z is now 13.
9. Đ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 Variable z is now 13.
7 là Variable z is now 13.
9, thì biểu thức được thực thi và số hiện tại được thêm vào danh sách if :
012Để thử nghiệm, hãy thay đổi
if :
003 thành if :
014if :
14if :
15đầu ra.
if :
015Trong 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
Variable z is now 13.
7 ước tính thành # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 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ố
if :
64 nàyif :
16____117đầu ra.
Variable z is now 13.
9Ở đây Python đánh giá sự kết hợp của
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 và Variable z is now 13.
9, và vì chúng ta có toán tử logic if :
003, nên ít nhất một trong những Booleans này là Variable z is now 13.
9 để đánh giá câu lệnh kết hợp thành Variable z is now 13.
9Bây giờ, điều gì sẽ xảy ra nếu chúng ta thay đổi
if :
003 thành if :
014?if :
18if :
19đầu ra.
# What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0Cả hai Booleans phải là
Variable z is now 13.
9 để đánh giá điều kiện kết hợp thành Variable z is now 13.
9. Vì một trong số chúng là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0, nên điều kiện kết hợp cũng là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0. Đâ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ử
if :
032 để tìm hiểu xem số đó có phải là số chẵn không. Biểu thức if :
033 sẽ mang lại phần còn lại của phép chia if :
034 cho if :
035. 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à 0if :
80if :
81đầu ra.
if :
036Tại sao số đầu tiên của đầu ra là 2? . Nó nhỏ hơn 3 nên điều kiện kết hợp trong ngoặc đơn là
Variable z is now 13.
9. 2 cũng chia hết cho 2 với số dư 0, vì vậy điều kiện thứ hai cũng là Variable z is now 13.
9. Cả hai điều kiện là Variable z is now 13.
9, vì vậy số này được thêm vào danh sáchTạ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?
if :
82if :
83đầu ra.
if :
041Chúng tôi có 1 trong danh sách. Trong Python, tất cả các toán tử được đánh giá theo thứ tự chính xác. Ví dụ: toán tử
if :
014 được ưu tiên hơn toán tử if :
003. Nhưng nếu chúng ta đặt toán tử if :
003 trong ngoặc đơn, nó sẽ được ưu tiên hơn toán tử if :
014Trước tiên, chúng tôi đánh giá các điều kiện ở cả hai phía của toán tử
if :
014 [nó được ưu tiên]. 1 không lớn hơn 10 và cũng không mang lại 0 nếu chia cho 2, vì vậy điều kiện kết hợp là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0. Chúng tôi còn lại với điều kiện if :
048. 1 nhỏ hơn 3 nên điều kiện đầu tiên là Variable z is now 13.
9. Điều kiện trở thành if :
050. Chúng tôi có toán tử if :
003, vì vậy điều kiện kết hợp ước tính thành Variable z is now 13.
9 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ácCuố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
if :
014 và if :
003, nhưng trong Python, chúng tôi cũng có toán tử if :
055. 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âu lệnh Variable z is now 13.
7Input AInput BANDORFalseFalseFalseTrueTrueFalseTrueFalseTrueFalseTrueTrueTrueTrueTrue
Chúng tôi có hai đầu vào, A và B, có thể là
Variable z is now 13.
9 hoặc # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0. Ví dụ: ở hàng thứ hai, A là Variable z is now 13.
9, trong khi B là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0; . 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ạnCâ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
Variable z is now 13.
7 lồng nhau. Hãy xem một ví dụif :
84if :
85đầu ra.
if :
066Ở đây, nếu dấu nằm trong khoảng từ 60 đến 100, biểu thức bên dưới câu lệnh
Variable z is now 13.
7 được thực thi. Nhưng sau đó chúng tôi có các điều kiện khác cũng được đánh giá. Vì vậy, điểm của chúng ta là 85, nằm trong khoảng từ 60 đến 100. Tuy nhiên, 85 nhỏ hơn 90, vì vậy điều kiện Variable z is now 13.
7 lồng nhau đầu tiên là # What happens here?
x = 3
y = 10
if x > y:
print["x is greater than y."]
0 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 raTất nhiên, chúng tôi cũng có câu lệnh
if :
16 bên ngoài biểu thức bên dưới câu lệnh Variable z is now 13.
7 đầu tiên. Ví dụ, dấu hiệu của Variable z is now 13.
7 cao hơn 100 là gì? Cố gắng gán các số khác nhau cho biến
if :
077 để hiểu logic của mã nàyKhớ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
if :
078. 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ẫuif :
86____109____188if :
09Chúng ta có thể thấy sự tương đồng giữa việc sử dụng các câu lệnh
if :
078 và cú pháp if :
080. Đầu tiên, chúng tôi xác định biến nào chúng tôi muốn if :
081 và khi chúng tôi xác định các trường hợp [hoặc giá trị mà biến này có thể nhận]. Phần còn lại của mã là tương tự. Nếu một trường hợp được khớp [tương đương với dấu bằng kép], thì biểu thức if :
64 được thực thiLưu ý câu lệnh
if :
083 cuối cùng, đó là trường hợp if :
084, tương đương với if :
67. nếu không có trường hợp nào phù hợp, thì chúng tôi if :
64 if :
087vượt qua tuyên bố
Khi bạn bắt đầu viết mã phức tạp hơn, bạn có thể rơi vào tình huống phải sử dụng trình giữ chỗ thay vì mã bạn muốn triển khai sau này. Câu lệnh
if :
088 là trình giữ chỗ này. Hãy xem một ví dụ có và không có câu lệnh if :
088Variable z is now 13.
0Variable z is now 13.
1đầu ra
Variable z is now 13.
2Python 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
Variable z is now 13.
3____04đầ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
Variable z is now 13.
5Variable z is now 13.
6đầu ra.
if :
090kết luận
Trong Python, các câu lệnh
Variable z is now 13.
7 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 Variable z is now 13.
7 trong Python- Tạo các câu lệnh
7 cơ bảnVariable z is now 13.
- Thêm độ phức tạp bằng cách sử dụng câu lệnh
67 vàif :
16if :
- Kết hợp nhiều điều kiện trong một câu lệnh
7 sử dụng toán tử logic [Variable z is now 13.
003,if :
014]if :
- Sử dụng các câu lệnh
7 lồng nhauVariable z is now 13.
- Sử dụng câu lệnh
088 làm trình giữ chỗif :
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