NumPy: вычисления и устройство массивов

Объединение массивов: concatenate и stack

Содержание курса

concatenate vs stack на одномерных векторах: разница в ndim и shape

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.

Что нужно сделать

Напишите программу, которая наглядно показывает разницу между np.concatenate и np.stack на одномерных массивах:

  1. Читает из stdin одну строку с двумя целыми числами: n и k — длина каждого из k одномерных векторов.
  2. Создаёт k одномерных массивов: i-й массив (i от 0 до k-1) равен np.arange(i * n, (i + 1) * n) — shape (n,).
  3. Объединяет все k массивов через np.concatenate(..., axis=0)cat. Выводит строку: cat shape=<shape> ndim=<ndim>.
  4. Складывает все k массивов через np.stack(..., axis=0)st0. Выводит строку: st0 shape=<shape> ndim=<ndim>.
  5. Складывает все k массивов через np.stack(..., axis=1)st1. Выводит строку: st1 shape=<shape> ndim=<ndim>.
  6. Выводит строку ndim_diff=<d>, где <d> — разница st0.ndim - cat.ndim.

Shape выводите в виде Python-кортежа, например (6,) или (2, 3).

Ввод и вывод

Программа читает stdin и пишет в stdout.

Формат ввода

Одна строка: два целых числа n k, разделённых пробелом. Гарантируется n >= 2, k >= 2.

Формат вывода

Четыре строки:

cat shape=<shape> ndim=<ndim>
st0 shape=<shape> ndim=<ndim>
st1 shape=<shape> ndim=<ndim>
ndim_diff=<d>
О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

Проверяется тестами (1)
  • Тест 1
    Ввод
    3 2
    Ожидаемый вывод
    cat shape=(6,) ndim=1
    st0 shape=(2, 3) ndim=2
    st1 shape=(3, 2) ndim=2
    ndim_diff=1
Решение
Как проверяется решение

Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.