Nhiều lựa chọn với elif
Bài 5/6 · khoảng 7 phút đọc
Xếp loại điểm có nhiều mức, không chỉ hai. Dùng elif (viết tắt của else if — "nếu không thì nếu") để thêm lựa chọn:
diem = 7if diem >= 8: print("Giỏi")elif diem >= 6.5: print("Khá")elif diem >= 5: print("Trung bình")else: print("Yếu")Python kiểm tra từ trên xuống và dừng ở nhánh đúng đầu tiên; các nhánh sau bị bỏ qua.
Thứ tự điều kiện rất quan trọng
Điều kiện đặt sai thứ tự cho ra kết quả sai (một lỗi logic):
diem = 9if diem >= 5: print("Trung bình")elif diem >= 8: print("Giỏi")Với điểm 9, kết quả là "Trung bình" vì điều kiện đầu diem >= 5 đã đúng và Python dừng luôn. Luôn xếp từ mức cao nhất xuống thấp nhất.
if liên tiếp khác với elif
Hai lệnh if đứng riêng là hai câu hỏi độc lập — cả hai đều có thể chạy:
so = 6if so > 3: print("lớn hơn 3")if so > 5: print("lớn hơn 5")Còn chuỗi if…elif…else chỉ chạy một nhánh.
Ghi nhớ:
if → elif → else: chỉ nhánh đúng đầu tiên được chạy. Xếp điều kiện từ mức cao xuống thấp.
Có thể có bao nhiêu `elif` trong một câu lệnh `if`?
Bao nhiêu cũng được (không giới hạn), và else ở cuối là tuỳ chọn.