Cấu trúc điều kiện if¶
Tóm lược nội dung
Bài này trình bày câu lệnh điều kiện if
, gồm cả if
thiếu và if
đủ.
Đặt vấn đề¶
Không phải bài toán nào cũng được giải quyết theo một đường thẳng, tức thực hiện một mạch các câu lệnh từ trên xuống.
Trên thực tế, rất nhiều con đường có nhánh rẽ, rất nhiều bài toán mà trong quá trình giải quyết, phát sinh các trường hợp khác nhau, buộc ta phải chọn một hướng để đi tiếp, không thể phân thân để đi nhiều hướng cùng lúc.
Khái niệm¶
Câu lệnh if
là câu lệnh dùng để giải quyết bài toán có nhiều trường hợp.
Câu lệnh if
được gọi là cấu trúc điều kiện, hoặc một số sách giáo khoa gọi là cấu trúc rẽ nhánh.
Lệnh if thiếu¶
Giải thích:
Nếu điều_kiện
có giá trị True
, thì khối lệnh ngay bên dưới được thực hiện. Ngược lại, nếu điều_kiện
có giá trị False
, thì không có lệnh nào được thực hiện lệnh cả.
Nói cách khác, nếu đúng thì làm, còn không thì thôi.
Ví dụ 1:
Output:
Câu hỏi 1
Biết rằng biến diem_thi_mos
có giá trị là 700.
Sau khi thực hiện đoạn mã của ví dụ 1, kết quả hiển thị trên màn hình là gì?
Đáp án
Pass. Good job!
Câu hỏi 2
Biết rằng biến diem_thi_mos
có giá trị là 669.
Sau khi thực hiện đoạn mã của ví dụ 1, kết quả hiển thị trên màn hình là gì?
Đáp án
Màn hình không hiển thị kết quả nào. Vì không có lệnh nào được thực hiện.
Lệnh if đủ¶
Giải thích:
Nếu điều_kiện
có giá trị True
, thì khối lệnh nằm trên được thực hiện. Ngược lại, nếu điều_kiện
có giá trị False
, thì khối lệnh nằm sau else
được thực hiện.
Nói cách khác, câu lệnh if ... else ...
dùng để giải quyết bài toán có 2 trường hợp.
Ví dụ 2:
Output:
Ví dụ 3:
Output:
Câu hỏi 3
Biết rằng biến m
có giá trị là 0.
Sau khi thực hiện đoạn mã của ví dụ 3, kết quả hiển thị trên màn hình là gì?
Đáp án
0 is an even number.
Lệnh if đủ dành cho bài toán có nhiều hơn 2 trường hợp¶
Cú pháp
Giải thích:
- Ứng với trường hợp 1, ta viết lệnh if
, khối_lệnh_A
sẽ được thực hiện.
- Ứng với mỗi trường hợp tiếp theo, ta viết lệnh elif
, khối_lệnh_B
hoặc khối_lệnh_C
sẽ được thực hiện tương ứng.
- Nếu không có trường hợp nào thỏa, ta viết lệnh else
, khối_lệnh_D
sẽ được thực hiện.
Ví dụ 4:
Output:
Câu hỏi 4
Biết rằng biến age
có giá trị là 1.
Sau khi thực hiện đoạn mã của ví dụ 4, kết quả hiển thị trên màn hình là gì?
Đáp án
Bạn chưa đủ tuổi lao động.
Tuy nhiên, xét về mặt thực tế, giá trị 1
có gì đó không ổn.
Câu hỏi 5
Dòng lệnh elif
của ví dụ 4 có thể được viết lại thành elif 15 <= age <= 62:
được không?
Đáp án
Được. Python cho phép diễn đạt giống như biểu thức toán học.
Tuy nhiên, bạn nên biết rằng, cách diễn đạt \(a \le x \le b\) của phần lớn các ngôn ngữ lập trình là x >= a and x <= b
.
Câu hỏi 6
Nếu bài toán có \(n\) trường hợp thì ta cần viết bao nhiêu lệnh if
lẫn elif
?
Đáp án
Với bài toán có \(n\) trường hợp, ta chỉ cần viết \(n - 1\) lệnh if
hoặc elif
. Vì trường hợp cuối cùng không cần xét nữa.
Sơ đồ tóm tắt nội dung¶
Google Colab¶
Các đoạn mã trong bài này được đặt tại Google Colab để bạn có thể thử nghiệm theo cách của riêng mình.
Some English words¶
Vietnamese | Tiếng Anh |
---|---|
câu lệnh điều kiện | conditional statement |
trường hợp | case |