def danh_gia(gui, nhan, han, da_quan_sat_den): ket_qua = {} for ma, bat_dau in gui.items(): moc_han = bat_dau + han cac_lan = [t for t in nhan.get(ma, []) if bat_dau <= t <= da_quan_sat_den] if cac_lan: ket_qua[ma] = "đạt" if min(cac_lan) <= moc_han else "quá hạn" else: ket_qua[ma] = "quá hạn" if da_quan_sat_den >= moc_han else "chưa đủ dữ liệu" return ket_qua gui = {"A": 0, "B": 1} assert danh_gia(gui, {"A": [2], "B": [5]}, 3, 5) == {"A": "đạt", "B": "quá hạn"} assert danh_gia(gui, {"A": [2], "B": [4]}, 3, 4) == {"A": "đạt", "B": "đạt"} assert danh_gia(gui, {"A": [2]}, 3, 2) == {"A": "đạt", "B": "chưa đủ dữ liệu"} print("Phân biệt đạt, quá hạn và vết chưa quan sát đủ.")