ตรวจซูโดกุที่เติมครบ
ตรวจซูโดกุเก้าคูณเก้าที่เติมครบโดยไม่แก้ช่องว่าง.
def sudoku_complete(board):
if type(board) is not list or len(board) != 9:
raise ValueError("nine rows")
if any(type(row) is not list or len(row) != 9 or
any(type(v) is not int or not 1 <= v <= 9 for v in row) for row in board):
raise ValueError("nine integer digits per row")
target = set(range(1,10))
units = board + [list(col) for col in zip(*board)]
units += [[board[y+dy][x+dx] for dy in range(3) for dx in range(3)]
for y in (0,3,6) for x in (0,3,6)]
return all(set(unit) == target for unit in units)| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
|---|---|
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก |
| โปรเจกต์ | ตรวจแถว คอลัมน์ และกลุ่มสามคูณสาม พร้อมปฏิเสธรูปร่างผิดหรือค่าไม่เป็นจำนวนเต็ม และคืนเท็จเมื่อเลขซ้ำ. |
def sudoku_complete(board):
if type(board) is not list or len(board) != 9:
raise ValueError("nine rows")
if any(type(row) is not list or len(row) != 9 or
any(type(v) is not int or not 1 <= v <= 9 for v in row) for row in board):
raise ValueError("nine integer digits per row")
target = set(range(1,10))
units = board + [list(col) for col in zip(*board)]
units += [[board[y+dy][x+dx] for dy in range(3) for dx in range(3)]
for y in (0,3,6) for x in (0,3,6)]
return all(set(unit) == target for unit in units)แยกข้อมูลเข้าที่ครบถ้วนจากผลที่ถูกต้อง
GridCoven เป็นพื้นที่เขียนโค้ดด้วย AI บน Windows สำหรับถามคำถามที่เจาะจงเกี่ยวกับโค้ดตรวจข้อมูล เริ่มจากความแตกต่างที่แอปพลิเคชันต้องแยก แล้วนำซอร์สและตัวอย่างที่เกี่ยวข้องมาสนทนา โมเดลที่เชื่อมต่อช่วยอภิปรายข้อเสนอได้ ขณะที่คุณตัดสินว่าสถานะที่ยอมรับและปฏิเสธใดควรอยู่ในข้อตกลงผลิตภัณฑ์
บอร์ด Sudoku ที่กรอกเต็มเป็นงานตรวจที่เป็นรูปธรรม ทุกช่องอาจมีค่าแต่บอร์ดยังผิดกฎแถว คอลัมน์ หรือบล็อก ขอให้ตรวจบอร์ดที่กรอกครบโดยไม่แก้ช่องว่าง ระบุว่าข้อมูลผิดรูปแบบต่างจากบอร์ดที่รูปแบบถูกแต่กฎผิดอย่างไร เพราะผู้เรียกอาจจัดการผลเหล่านั้นต่างกัน
ใช้กรณีทดสอบอิสระตรวจแพตช์ กรณีหนึ่งอาจผิดคอลัมน์แต่ยังผ่านการตรวจแถว อีกกรณีอาจเผยว่าละการตรวจบล็อก รันกรณีเหล่านี้ด้วยเครื่องมือเดิมของโครงการและตรวจว่าข้อมูลเข้าไม่เปลี่ยน เป้าหมายคือทำให้ทุกเงื่อนไขที่ต้องการสังเกตได้ ไม่ใช่ยอมรับตัวตรวจเพียงเพราะรู้จักคำตอบที่ทราบอยู่หนึ่งชุด
GridCoven รองรับการเชื่อมต่อปลายทางที่เข้ากันได้กับ OpenAI หรือปลายทาง Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น หากปลายทางมีโมเดล AI ไร้การกรอง โมเดลยังอยู่ภายใต้ความสามารถจริงและเงื่อนไขบริการ โมเดลกับเซิร์ฟเวอร์กำหนดบริบทและเครื่องมือ ทั้งชื่อเรียกและคำอธิบายที่มั่นใจไม่พิสูจน์ว่าการตรวจครบถ้วน
กำหนดงานตรวจบอร์ดที่กรอกครบ
จะแยกข้อมูลผิดรูปแบบจากบอร์ดไม่ถูกต้องได้อย่างไร?
ระบุรูปร่างและชนิดค่าที่ต้องการก่อน แล้วอธิบายกฎที่บอร์ดรูปแบบถูกอาจละเมิด ระบุว่าผู้เรียกควรรับรู้ผลแต่ละแบบอย่างไร เพื่อให้ตรวจการจัดการข้อผิดพลาดแยกจากการตัดสินความถูกต้องแบบบูลีนได้
เหตุใดกรณีทดสอบคำตอบถูกหนึ่งชุดจึงไม่พอ?
แสดงเพียงว่ายอมรับตัวอย่างถูกต้องหนึ่งตัว เพิ่มกรณีที่แยกการละเมิดแถว คอลัมน์ และบล็อกเพื่อให้เห็นเงื่อนไขที่ตกหล่น ตรวจผลที่คาดหวังอย่างอิสระก่อนดูว่าโค้ดที่เสนอตรงกับผลนั้นในการทดสอบหรือไม่
ขอให้พื้นที่ทำงานแก้ช่องว่างได้หรือไม่?
นั่นเป็นงานเขียนโค้ดอีกงานที่มีข้อตกลงต่างกัน ตัวอย่างนี้ตรวจข้อมูลเข้าที่ครบแล้ว ระบุการจัดการช่องว่างให้ชัด เพื่อไม่ให้ตัวตรวจที่เสนอกลายเป็นตัวแก้ปริศนาโดยเงียบ ๆ หรือถือว่าบอร์ดที่ไม่ครบเป็นคำตอบสมบูรณ์
การตรวจควรเปลี่ยนบอร์ดที่ส่งมาหรือไม่?
ระบุไว้ในข้อกำหนด สำหรับตัวอย่างการตรวจนี้ ให้คงข้อมูลเดิมและตรวจหลังการตรวจสอบ การเปลี่ยนข้อมูลอาจกระทบพฤติกรรมอินเทอร์เฟซภายหลังแม้ผลความถูกต้องจะถูกต้อง จึงควรแนบโค้ดที่ใช้ข้อมูลหากความเสี่ยงนี้สำคัญ
GridCoven · อัปเดตล่าสุด 2026-10-25