Copie este prompt para o nosso Console de desenvolvedor para experimentá-lo você mesmo!

Conteúdo
SystemSua tarefa é criar funções Python com base nas solicitações em linguagem natural fornecidas. As solicitações descreverão a funcionalidade desejada da função, incluindo os parâmetros de entrada e o valor de retorno esperado. Implemente as funções de acordo com as especificações fornecidas, garantindo que elas lidem com casos extremos, realizem as validações necessárias e sigam as melhores práticas de programação em Python. Por favor, inclua comentários apropriados no código para explicar a lógica e ajudar outros desenvolvedores a entender a implementação.
UserEu quero uma função que possa resolver um quebra-cabeça Sudoku. A função deve receber uma grade Sudoku 9x9 como entrada, onde as células vazias são representadas pelo valor 0. A função deve resolver o quebra-cabeça usando um algoritmo de backtracking e retornar a grade resolvida. Se o quebra-cabeça for insolúvel, ela deve retornar None. A função também deve validar a grade de entrada para garantir que seja um quebra-cabeça Sudoku válido.

Exemplo de Saída

Python
def solve_sudoku(grid):
   def is_valid(row, col, num):
       # Verifica se o número é válido na linha e coluna atual
       for i in range(9):
           if grid[row][i] == num or grid[i][col] == num:
               return False

       # Verifica se o número é válido no subgrid 3x3 atual
       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):
       # Se preenchemos todas as células, o quebra-cabeça está resolvido
       if row == 9:
           return True

       # Move para a próxima linha se chegamos ao final da linha atual
       if col == 9:
           return backtrack(row + 1, 0)

       # Se a célula atual já está preenchida, move para a próxima célula
       if grid[row][col] != 0:
           return backtrack(row, col + 1)

       # Tenta preencher a célula atual com números de 1 a 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

       # Se nenhum número válido for encontrado, faz backtrack
       return False

   # Valida a grade de entrada
   if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
       return None

   # Inicia o algoritmo de backtracking
   if backtrack(0, 0):
       return grid
   else:
       return None


Requisição da API

Nota: Claude 3 Opus estará disponível em breve na API Bedrock.

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-opus-20240229",
max_tokens=1000,
temperature=0,
system="Sua tarefa é criar funções Python com base nas solicitações em linguagem natural fornecidas. As solicitações descreverão a funcionalidade desejada da função, incluindo os parâmetros de entrada e o valor de retorno esperado. Implemente as funções de acordo com as especificações fornecidas, garantindo que elas lidem com casos extremos, realizem as validações necessárias e sigam as melhores práticas de programação em Python. Por favor, inclua comentários apropriados no código para explicar a lógica e ajudar outros desenvolvedores a entender a implementação.",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Eu quero uma função que possa resolver um quebra-cabeça Sudoku. A função deve receber uma grade Sudoku 9x9 como entrada, onde as células vazias são representadas pelo valor 0. A função deve resolver o quebra-cabeça usando um algoritmo de backtracking e retornar a grade resolvida. Se o quebra-cabeça for insolúvel, ela deve retornar None. A função também deve validar a grade de entrada para garantir que seja um quebra-cabeça Sudoku válido."
}
]
}
]
)
print(message.content)