Khái niệm cấu trúc rẽ nhánh
Cấu trúc rẽ nhánh là cấu trúc dùng để mô tả các mệnh đề được chọn thực hiện hay không thực hiện một công việc phù hợp với điều kiện đang xảy ra.
Ví dụ sau là một trường hợp về cấu trúc rẽ nhánh trong cuộc sống bạn có thể gặp phải.
Nếu ngày mai trời không mưa tôi sẽ qua nhà bạn, trời mưa thì tôi ở nhà.
Cấu trúc rẽ nhánh trong Python
Không như C/C++, trong Python không tồn tại khái niệm về switch...case mà chỉ tồn tại cấu trúc điều kiện if...else.
Để sử dụng cấu trúc rẽ nhánh trong Python, bạn cần biết cú pháp sau:
Cấu trúc if...else
if (boolean_expression):
statements
else:
statements
Nguyên tắc hoạt động
Phần else là không bắt buộc, có thể có hoặc không.
Kiểm tra xem giá trị trả về của biểu thức bên trong if trả về là true hay false. Nếu giá trị trả về là true, thì các khối lệnh (statements) sau if sẽ được thực thi. Ngược lại, nếu giá trị trả về là false, thì sẽ kiểm tra xem có else hay không, nếu có sẽ thực thi các khối lệnh theo sau nó, còn không thì kết thúc cấu trúc và chuyển sang câu lệnh tiếp theo.
Ví dụ
i = 2
if (i > 3):
print("i is greater than 3")
else:
print("i is less than or equal to 3")
Dễ dàng nhận ra kết quả nhận được sẽ là:
i is less than or equal to 3
Cấu trúc if...elif
Theo cá nhân tôi thì đây mới chính là cấu trúc rẽ nhánh thật sự đầy đủ của Python, cấu trúc if..else là một rút gọn của if..elif
if (boolean_expression):
statements
elif (boolean_expression):
statements
.
.
elif (boolean_expression):
statements
else:
statements
Về nguyên tắc hoạt động thì if..elif hoạt động tương tự như if...else. Phần else là không bắt buộc và từ khoá elif chính là từ viết tắt của else if. Các bạn có thể tham khảo ví dụ sau để rõ hơn.
i = 2
if (i > 3):
print("i is greater than 3")
elif (i > 1):
print("i is greater than 1")
else:
print("i is less than or equal to 1")
Kết quả in ra màn hình
i is greater than 1