# -*- coding: utf-8 -*- import re sentences = [ # Đoạn 1: Thông báo tạo Google Sheet và phân quyền "Hệ thống đã khởi tạo hoàn tất bảng tính Google Sheet tổng hợp toàn bộ thực đơn kèm phân bổ giá trị chi tiết từng món.", "Tệp dữ liệu đã được cấp quyền chỉnh sửa trực tiếp cho hòm thư nhivo2504@gmail.com nhằm phục vụ mục đích tái sử dụng lâu dài.", "Đường dẫn truy cập bảng tính trực tuyến: https://docs.google.com/spreadsheets/d/1yNVqn5LcgARSwvpIJdWbg8lCELwki6Rl0bxNrJ5RKUA/edit", # Đoạn 2: Giải thích phương pháp bóc tách giá trị thành phần trong combo "Giá trị từng món trong combo được tính bằng cách lấy đơn giá món lẻ nhân với tỷ lệ chiết khấu chung của gói đó.", "Phương pháp này giúp xác định chính xác số tiền thực tế chi trả cho mỗi miếng gà hoặc từng ly nước trong các combo.", # Đoạn 3: Kết quả giải bài toán tối ưu cho đơn hàng mẫu "Đối với đơn hàng mẫu của bạn phương án kết hợp tối ưu nhất có tổng chi phí thanh toán đạt mức 294000 đồng.", "Phương án tối ưu gồm một Xô Zòn Zã 159K cộng hai bánh trứng lẻ cùng một Combo Cơm Gà Quay Solo tiêu chuẩn.", "Khách hàng chỉ cần gọi thêm một khoai tây nghiền vừa và một bắp cải trộn lớn để hoàn thiện đúng giỏ hàng yêu cầu.", "Nếu lựa chọn mua riêng lẻ từng món tổng số tiền phải trả sẽ là 322000 đồng đắt hơn 28000 đồng so phương án trên.", "Phương án dùng gói Deal 129K Yay cũng khả thi nhưng có tổng chi phí là 298000 đồng cao hơn 4000 đồng so xô.", # Đoạn 4: Đánh giá Pros và Cons của giải thuật "Thuật toán quy hoạch nguyên có ưu điểm tìm ra nghiệm tối ưu tuyệt đối nhưng đòi hỏi công cụ lập trình chuyên sâu hỗ trợ.", "Phương pháp chọn combo theo cảm tính có ưu điểm nhanh chóng nhưng nhược điểm lớn là thường gây lãng phí ngân sách đặt hàng.", # Đoạn 5: Tài liệu tham khảo chuẩn APA 7 "Các mô hình toán học giải quyết bài toán tối ưu hóa chi phí thực đơn đều kế thừa những nguyên lý quy hoạch kinh điển.", ] print("=== KIỂM TRA ĐỘ DÀI CÂU VÀ DẤU GẠCH NGANG ===") all_pass = True for idx, s in enumerate(sentences): # Check if URL line if "https://" in s: words = s.split() wc = len(words) print(f"URL line [{wc} words]: {s}") continue words = s.split() wc = len(words) dashes = re.findall(r'[\-\—\–\⁃\‒\‐\‑]', s) status = "OK" if 20 <= wc <= 25 and not dashes else "FAIL" if status == "FAIL": all_pass = False print(f"Câu {idx+1:02d} [{wc:02d} từ] [{status}]: {s}") if dashes: print(f" Phát hiện dấu gạch ngang: {dashes}") print("Tất cả đạt chuẩn:", all_pass)