Rẽ nhánh và điều kiện logic
Nội dung bài học
1. Tóm tắt kiến thức trọng tâm
- Cấu trúc rẽ nhánh: Dùng để đưa ra quyết định dựa trên điều kiện
True(Đúng) hoặcFalse(Sai). - Cú pháp đầy đủ:
if <Dieu_kien_1>:
# Chạy khi Dieu_kien_1 Đúng
elif <Dieu_kien_2>:
# Chạy khi Dieu_kien_1 Sai nhưng Dieu_kien_2 Đúng
else:
# Chạy khi tất cả các điều kiện trên đều Sai
- Quy tắc thụt lề: Khối lệnh con phải lùi vào 4 dấu cách. Sau
if,elif,elsebắt buộc có dấu hai chấm:. - Toán tử so sánh: Bằng nhau (
==), Khác nhau (!=), Lớn hơn (>), Nhỏ hơn (<), Lớn hơn hoặc bằng (>=), Nhỏ hơn hoặc bằng (<=). - Liên minh logic:
and: Bắt buộc tất cả cùng đúng.or: Chỉ cần ít nhất một điều kiện đúng.not: Đảo ngược Đúng $\\leftrightarrow$ Sai.- Cú pháp so sánh kẹp tiện lợi trong Python:
10 <= x <= 99.
2. Sổ tay các biểu thức logic hay thi
- Kiểm tra tam giác hợp lệ:
(a + b > c) and (a + c > b) and (b + c > a) - Kiểm tra năm nhuận:
(nam % 400 == 0) or (nam % 4 == 0 and nam % 100 != 0) - Kiểm tra số có 2 chữ số:
10 <= n <= 99
3. Bẫy lỗi phòng thi
- Nhầm
==(so sánh) thành=(gán):if a = 5:$\implies$ Báo lỗiSyntaxError. - Bẫy viết tắt sai:
if a == 1 or 2:$\implies$ Python hiểu làif (a == 1) or (2), số 2 khác 0 luôn làTruenên câuifluôn chạy sai! Phải viết:if a == 1 or a == 2:.
4. Mẫu code chuẩn
# Kiểm tra phân loại tam giác
a = int(input())
b = int(input())
c = int(input())
if (a + b > c) and (a + c > b) and (b + c > a):
if a == b == c:
print("TAM GIAC DEU")
elif a == b or b == c or c == a:
print("TAM GIAC CAN")
else:
print("TAM GIAC THUONG")
else:
print("KHONG PHAI TAM GIAC")