GGridCoven
Сценарии

Сценарии работы с кодом · Проверка заполненного судоку

03
Вокруг ваших задач

Конкретная отправная точка

Проверьте заполненное судоку девять на девять, не решая пустые клетки. Проверьте строки, столбцы и блоки три на три, отклоняя неверную форму и нецелые входы и возвращая ложь при повторе цифр.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Проверка заполненного судоку

Конкретная отправная точка
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)

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗