Объединение массивов: concatenate и stack
Содержание курса
Найди и исправь: неверные axis в concatenate и stack
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет.
В редакторе уже есть сломанный код. Он пытается выполнить четыре операции объединения массивов, но в каждой из четырёх допущена ошибка: либо перепутан axis в np.concatenate, либо неверна позиция новой оси в np.stack, либо массивы переданы в неправильном порядке.
Что нужно сделать
Найдите и исправьте все четыре ошибки так, чтобы программа:
- Читала из
stdinчетыре целых числа в одной строке:R,C,R2,n. - Создавала:
a = np.arange(R * C).reshape(R, C)— shape(R, C);b = np.arange(R2 * C).reshape(R2, C)— shape(R2, C);- список из
nодномерных массивовvecs, гдеi-й равенnp.arange(i * C, (i + 1) * C)— shape(C,)каждый.
- Выполняла четыре операции и выводила shape каждого результата в отдельной строке:
op1 = np.concatenate([a, b], axis=0)— склейка по строкам; shape(R + R2, C);op2 = np.concatenate([a, a], axis=1)— склейка по столбцам; shape(R, 2 * C);op3 = np.stack(vecs, axis=0)— новая ось в позиции 0; shape(n, C);op4 = np.stack(vecs, axis=1)— новая ось в позиции 1; shape(C, n).
Каждый shape выводите в виде Python-кортежа, например (4, 3).
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
Одна строка: четыре целых числа R C R2 n, разделённых пробелами. Гарантируется R >= 2, C >= 2, R2 >= 1, n >= 2.
Формат вывода
Четыре строки — shape каждой операции в виде Python-кортежа.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
3 4 2 5
Ожидаемый вывод(5, 4) (3, 8) (5, 4) (4, 5)
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
