MMatrixCairn
Сценарии

Сценарии работы с кодом · Ограниченное умножение целочисленных матриц

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

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

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

01

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

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

02

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

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

03

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

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

04

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

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

Ограниченное умножение целочисленных матриц

Конкретная отправная точка
def matrix_product(left, right):
    left, right = [tuple(r) for r in left], [tuple(r) for r in right]
    widths = []
    for matrix in (left, right):
        width = len(matrix[0]) if matrix else 0
        if len(matrix) > 64 or width > 64 or any(len(r) != width for r in matrix):
            raise ValueError("matrix.shape")
        if any(type(v) is not int for r in matrix for v in r):
            raise ValueError("cell.integer")
        widths.append(width)
    if widths[0] != len(right):
        raise ValueError("matrix.incompatible")
    return [[sum(row[k] * right[k][j] for k in range(widths[0]))
             for j in range(widths[1])] for row in left]

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

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

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

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