Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Một chương trình chỉ chạy thẳng từ trên xuống dưới thì khá nhàm chán. Sức mạnh thật sự đến khi nó biết chọn: nếu mật khẩu đúng thì cho vào, nếu sai thì báo lỗi. Công cụ để làm điều đó là câu lệnh điều kiện.
Câu lệnh if kiểm tra một biểu thức. Nếu kết quả là đúng (True), khối lệnh bên trong được chạy; nếu sai, nó bị bỏ qua. Ví dụ Python:
diem = 7.5
if diem >= 5:
print("Bạn đã qua môn")Python dùng thụt đầu dòng để xác định khối lệnh, còn JavaScript, Java, C dùng cặp ngoặc nhọn:
let diem = 7.5;
if (diem >= 5) {
console.log("Bạn đã qua môn");
}Khi muốn xử lý cả trường hợp ngược lại, thêm else. Khi có nhiều mức, dùng thêm elif (Python) hoặc else if (các ngôn ngữ khác):
diem = 7.5
if diem >= 8.5:
xep_loai = "Giỏi"
elif diem >= 6.5:
xep_loai = "Khá"
elif diem >= 5:
xep_loai = "Trung bình"
else:
xep_loai = "Yếu"
print(xep_loai) # KháMáy tính kiểm tra từ trên xuống và dừng ở nhánh đúng đầu tiên. Vì thế thứ tự các điều kiện rất quan trọng: nếu bạn đặt diem >= 5 lên đầu thì mọi điểm từ 5 trở lên đều thành "Trung bình".
Điều kiện thường được tạo từ các phép so sánh, kết quả luôn là đúng hoặc sai:
== bằng, != khác> lớn hơn, < nhỏ hơn>= lớn hơn hoặc bằng, <= nhỏ hơn hoặc bằngLỗi rất phổ biến là viết = (gán) thay cho == (so sánh). Trong Python, viết sai như vậy sẽ báo lỗi cú pháp, nhưng trong C nó vẫn chạy và cho kết quả khó hiểu.
Bạn có thể ghép nhiều điều kiện bằng toán tử logic:
tuoi = 20
co_the = True
if tuoi >= 18 and co_the:
print("Được đăng ký")
if not co_the or tuoi < 18:
print("Không được đăng ký")Trong JavaScript và C, các toán tử này viết là &&, || và !.
Bạn có thể đặt if bên trong if, nhưng lồng quá sâu làm code khó đọc. Một mẹo hay là dùng "kiểm tra sớm" (early return) trong hàm:
def dang_ky(tuoi, da_dong_y):
if tuoi < 18:
return "Chưa đủ tuổi"
if not da_dong_y:
return "Cần đồng ý điều khoản"
return "Đăng ký thành công"Cách viết này tránh nhiều tầng lồng nhau, mỗi điều kiện loại trừ một trường hợp lỗi và phần chính của hàm nằm ở cuối.
%).Hãy kết hợp mọi thứ ở trên vào một hàm kiểm tra độ mạnh mật khẩu đơn giản:
def danh_gia_mat_khau(mk):
if len(mk) < 8:
return "Quá ngắn"
co_so = any(c.isdigit() for c in mk)
co_hoa = any(c.isupper() for c in mk)
if co_so and co_hoa:
return "Mạnh"
if co_so or co_hoa:
return "Trung bình"
return "Yếu"
print(danh_gia_mat_khau("abc")) # Quá ngắn
print(danh_gia_mat_khau("abcdefgh")) # Yếu
print(danh_gia_mat_khau("Abcdefg1")) # MạnhHàm dùng kiểm tra sớm cho trường hợp ngắn, sau đó kết hợp điều kiện bằng and và or. Đây chỉ là ví dụ học tập; hệ thống thật cần quy tắc kỹ hơn. Hãy thử mở rộng bằng cách yêu cầu thêm ký tự đặc biệt.
= thay cho == trong điều kiện.elif sai thứ tự nên nhánh hẹp không bao giờ được chạy.==; hãy dùng sai số cho phép.Câu lệnh điều kiện là cách đầu tiên để chương trình "suy nghĩ". Hãy luyện đến khi bạn đọc một đoạn if else và hình dung ngay các luồng chạy khác nhau. Tiếp theo, kết hợp với vòng lặp, bạn có thể giải được một lượng lớn bài toán thực tế.
Bạn có thể tiếp tục hành trình với những khóa học lập trình trên codebem.com, học theo tốc độ của riêng mình.
Nguyễn Đình Cường
0 comment