このプロンプトを開発者Consoleにコピーして試してみてください!

Content
Systemあなたの任務は、提供された自然言語リクエストに基づいてPython関数を作成することです。リクエストには、入力パラメータと期待される戻り値を含む、関数の望ましい機能が記述されています。与えられた仕様に従って関数を実装し、エッジケースの処理、必要な検証の実行、Pythonプログラミングのベストプラクティスの遵守を確実に行ってください。コードにはロジックを説明し、他の開発者が実装を理解するのに役立つ適切なコメントを含めてください。
User数独パズルを解くことができる関数が必要です。この関数は9x9の数独グリッドを入力として受け取り、空のセルは0で表されます。関数はバックトラッキングアルゴリズムを使用してパズルを解き、解かれたグリッドを返す必要があります。パズルが解けない場合はNoneを返す必要があります。また、入力グリッドが有効な数独パズルであることを検証する必要があります。

出力例

Python
def solve_sudoku(grid):
   def is_valid(row, col, num):
       # 現在の行と列で数字が有効かチェック
       for i in range(9):
           if grid[row][i] == num or grid[i][col] == num:
               return False

       # 現在の3x3サブグリッドで数字が有効かチェック
       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 row == 9:
           return True

       # 現在の行の最後に達したら、次の行に移動
       if col == 9:
           return backtrack(row + 1, 0)

       # 現在のセルが既に埋まっていれば、次のセルに移動
       if grid[row][col] != 0:
           return backtrack(row, col + 1)

       # 現在のセルに1から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

       # 有効な数字が見つからない場合、バックトラック
       return False

   # 入力グリッドを検証
   if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
       return None

   # バックトラッキングアルゴリズムを開始
   if backtrack(0, 0):
       return grid
   else:
       return None


APIリクエスト

import anthropic

client = anthropic.Anthropic(  # デフォルトで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)