將此提示複製到我們的開發者控制台來親自試試看!

Content
System您的任務是根據提供的自然語言請求創建 Python 函數。這些請求將描述函數所需的功能,包括輸入參數和預期的返回值。請根據給定的規格實現這些函數,確保它們能處理邊界情況、執行必要的驗證,並遵循 Python 編程的最佳實踐。請在代碼中包含適當的註釋來解釋邏輯,並幫助其他開發者理解實現方式。
User我想要一個可以解決數獨謎題的函數。該函數應該接受一個 9x9 的數獨網格作為輸入,其中空白格子用數值 0 表示。該函數應使用回溯算法解決謎題並返回已解決的網格。如果謎題無法解決,則應返回 None。該函數還應驗證輸入網格以確保它是一個有效的數獨謎題。

範例輸出

Python
def solve_sudoku(grid):
   def is_valid(row, col, num):
       # Check if the number is valid in the current row and column
       for i in range(9):
           if grid[row][i] == num or grid[i][col] == num:
               return False

       # Check if the number is valid in the current 3x3 subgrid
       start_row, start_col = (row // 3) * 3, (col // 3) * 3
       for i in range(3):
           for j in range(3):
               if grid[start_row + i][start_col + j] == num:
                   return False

       return True

   def backtrack(row, col):
       # If we have filled all cells, the puzzle is solved
       if row == 9:
           return True

       # Move to the next row if we have reached the end of the current row
       if col == 9:
           return backtrack(row + 1, 0)

       # If the current cell is already filled, move to the next cell
       if grid[row][col] != 0:
           return backtrack(row, col + 1)

       # Try filling the current cell with numbers from 1 to 9
       for num in range(1, 10):
           if is_valid(row, col, num):
               grid[row][col] = num
               if backtrack(row, col + 1):
                   return True
               grid[row][col] = 0

       # If no valid number is found, backtrack
       return False

   # Validate the input grid
   if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
       return None

   # Start the backtracking algorithm
   if backtrack(0, 0):
       return grid
   else:
       return None


API 請求

import anthropic

client = anthropic.Anthropic(  # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1000,
    temperature=0,
    system="您的任務是根據提供的自然語言請求創建 Python 函數。這些請求將描述函數所需的功能,包括輸入參數和預期的返回值。請根據給定的規格實現這些函數,確保它們能處理邊界情況、執行必要的驗證,並遵循 Python 編程的最佳實踐。請在代碼中包含適當的註釋來解釋邏輯,並幫助其他開發者理解實現方式。",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "我想要一個可以解決數獨謎題的函數。該函數應該接受一個 9x9 的數獨網格作為輸入,其中空白格子用數值 0 表示。該函數應使用回溯算法解決謎題並返回已解決的網格。如果謎題無法解決,則應返回 None。該函數還應驗證輸入網格以確保它是一個有效的數獨謎題。",
                }
            ],
        }
    ],
)
print(message.content)

Was this page helpful?