def queens(size):
if type(size) is not int or not 0 <= size <= 8:
raise ValueError("size.range")
result = []
def visit(columns, down, up):
row = len(columns)
if row == size:
result.append(tuple(columns))
return
for column in range(size):
if column not in columns and row-column not in down and row+column not in up:
visit(columns + [column], down | {row-column}, up | {row+column})
visit([], set(), set())
return result
✳Liệt kê cách đặt hậu không tấn công nhau trên bàn cỡ không đến tám.
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
Dự án
Kiểm tra cách đặt rỗng và bàn nhỏ vô nghiệm, từ chối cỡ sai và kiểm tra hàng, cột cùng đường chéo.
Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
def queens(size):
if type(size) is not int or not 0 <= size <= 8:
raise ValueError("size.range")
result = []
def visit(columns, down, up):
row = len(columns)
if row == size:
result.append(tuple(columns))
return
for column in range(size):
if column not in columns and row-column not in down and row+column not in up:
visit(columns + [column], down | {row-column}, up | {row+column})
visit([], set(), set())
return result
Không gian lập trình với AI
Cho mã tìm kiếm định nghĩa rõ ràng về kết quả hợp lệ
QueenVellum là không gian lập trình AI trên Windows cho nhà phát triển rà soát hàm tìm kiếm và điều kiện đầu ra phải thỏa mãn. Bắt đầu với thư mục dự án và giải thích điều gì được tính là lời giải, đầu vào nào được hỗ trợ và ứng dụng biểu diễn kết quả rỗng thế nào. Trợ lý kết nối có thể xem mã hiện tại và giúp chuẩn bị thay đổi theo quy ước đó.
Tác vụ đặt quân hậu có giới hạn làm các câu hỏi đó cụ thể. Yêu cầu rà soát ràng buộc và cấu trúc đầu ra bằng ví dụ hiện có với kích thước bàn cờ từ không đến tám. Thảo luận khác biệt giữa cách đặt rỗng và bàn cờ không có cách đặt hợp lệ trước khi chấp nhận sửa đổi. Mục đích là phát triển và kiểm thử mã tìm kiếm của bạn, giữ ý nghĩa rõ ràng suốt cuộc trao đổi.
Xem cấu trúc trả về trong kiểm thử dự án thay vì chỉ kiểm tra số lượng kết quả. Kiểm chứng từng ràng buộc cần có, chạy trường hợp đầu vào không hợp lệ và so sánh thay đổi mã với tác vụ gốc. QueenVellum cho phép kết nối tương thích OpenAI hoặc Anthropic được hỗ trợ, gồm mô hình không lọc nơi điểm cuối cung cấp. Cung cấp thông tin xác thực cần thiết và kiểm tra ngữ cảnh mô hình cùng hỗ trợ công cụ. Lời giải thích thuyết phục vẫn chỉ là đề xuất cho đến khi cách triển khai và đầu ra được rà soát theo những yêu cầu đó.
Rà soát công việc tìm kiếm có ràng buộc
Kiểm thử nên kiểm tra số lượng hay từng lời giải trả về?
Dùng cả hai khi phù hợp. Số lượng có thể khớp dù từng đầu ra sai cấu trúc hoặc lặp lại. Kiểm chứng mỗi cách đặt theo ràng buộc cần có và so sánh trường hợp nhỏ đã biết để kiểm thử xét đúng ý nghĩa lời giải.
Nên biểu diễn trường hợp kích thước không thế nào?
Nêu rõ quy ước. Kịch bản hiện có gồm một cách đặt rỗng, khác với không trả lời giải nào. Xem cách nơi gọi diễn giải để tái cấu trúc không gộp hai kết quả ứng dụng cần phân biệt.
Có thể tăng kích thước bàn cờ hỗ trợ khi dọn mã không?
Coi đó là yêu cầu riêng với rà soát riêng. Ví dụ hiện tại có giới hạn. Đổi khoảng ảnh hưởng lượng công việc và kích thước đầu ra, nên đừng suy ra hỗ trợ đầu vào lớn hơn từ minh họa nhỏ thành công.
Điều gì giúp rà soát hàm tìm kiếm viết lại?
Giữ trường hợp nhỏ đã biết, đầu vào bị từ chối và kiểm tra cấu trúc cùng nhau. Yêu cầu trợ lý giải thích mỗi nhánh giữ ràng buộc nào, rồi so sánh lời giải thích với mã đề xuất và kết quả lần kiểm thử của bạn.