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 trúc điều kiện `if.
Khái quát¶
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 dòng lệnh từ trên xuống.
Trên thực tế, có 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 duy nhất để đi tiếp, chứ không thể phân thân đi nhiều hướng cùng lúc.
Trong các ngôn ngữ lập trình, if là cấu trúc điều kiện (1), được dùng để giải quyết bài toán có nhiều trường hợp.
- Một số sách giáo khoa gọi là cấu trúc rẽ nhánh.
if thiếu¶
Cú pháp
Nếu điều_kiện có giá trị True thì thực thi khối lệnh ngay bên dưới.
Ngược lại, nếu điều_kiện có giá trị False thì không thực thi gì cả.
Nói cách khác, nếu đúng thì làm, không thì thôi.
Ví dụ:
Hàm evaluate_mos_score() dưới đây xét xem điểm MOS (Microsoft Office Specialist) có đạt 1000 hay không.
Hàm chỉ có một tham số đầu vào là s, biểu thị điểm MOS, và không có giá trị trả về.
Chạy đoạn mã trên và nhập vào 1000, kết quả như sau:
if đủ dành cho hai trường hợp¶
Cú pháp
Nếu điều_kiện có giá trị True thì thực thi khối lệnh ngay bên dưới.
Ngược lại, nếu điều_kiện có giá trị False thì thực thi khối lệnh của else.
Ví dụ:
Ta bổ sung else vào hàm evaluate_mos_score() để xử lý trường hợp điểm MOS nhỏ hơn 1000. Việc xử lý chỉ đơn giản là in ra màn hình một thông báo.
Chạy đoạn mã trên và nhập vào 691, kết quả như sau:
if đủ dành cho ba trường hợp trở lên¶
Cú pháp
if điều_kiện_1:
# Thực thi nếu điều_kiện_1 đúng
elif điều_kiện_2:
# Thực thi nếu điều_kiện_2 đúng
...
elif
...
else:
# Thực thi đối với các trường hợp còn lại
Cấu trúc if này xử lý riêng cho từng trường hợp.
Ví dụ:
Ta bổ sung elif để xử lý trường hợp "thi đậu", từ 700 điểm trở lên, và chỉnh sửa mã lệnh của else để xử lý những trường hợp còn lại, tức nhỏ hơn 700.
Chạy đoạn mã trên và nhập vào 691, kết quả như sau:
Sơ đồ tóm tắt¶
Mã nguồn¶
Code đầy đủ được đặt tại:
Some English words¶
| Vietnamese | Tiếng Anh |
|---|---|
| cấu trúc điều kiện câu lệnh điều kiện |
conditional statement |
| trường hợp | case |