dtype NumPy: целые и вещественные массивы, типы элементов

dtype описывает тип элементов массива NumPy. Числа Python 1 и 1.0 имеют разные типы; при создании массива это влияет на автоматически выбранный dtype. Для задачи с фиксированными требованиями можно передать тип явно.

Различайте конкретную разрядность и семейство типов: например, dtype.kind равен i для знакового целого и f для вещественного.

Короткий пример

import numpy as np
a = np.array([1, 2], dtype=np.int32)
b = np.array([1, 2.5], dtype=np.float64)
print(a.dtype, a.dtype.kind)
print(b.dtype, b.dtype.kind)

Результат:

int32 i
float64 f

Автоматическая разрядность целого зависит от версии и платформы, поэтому не подменяйте требования упражнения предположением об int32 или int64. Если условие запрещает явный dtype, проверяйте тип, полученный из исходных токенов.

Попробуйте самостоятельно

Ниже — отдельное задание с другими данными. Напишите решение и запустите проверку кода без регистрации. Для последовательного обучения откройте курс.

Документация.

Диагностика dtype: целые против вещественных токенов в одномерном массиве

Что уже дано

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

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

Напишите программу, которая:

  1. Читает из stdin одну строку — метку режима: строго "int" или строго "float".
  2. Читает вторую строку с n токенами, разделёнными пробелами.
  3. Если метка равна "int" — преобразует каждый токен через int() и создаёт одномерный ndarray через np.array без явного dtype.
  4. Если метка равна "float" — преобразует каждый токен через float() и создаёт одномерный ndarray через np.array без явного dtype.
  5. Выводит в stdout одну строку: shape ndim size dtype итогового массива.

Формат shape — строго как у Python: (n,).

Ввод и вывод

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

Формат ввода

метка
токен_1 токен_2 ... токен_n

Первая строка — слово int или float. Вторая строка — n токенов через пробел. Гарантируется n ≥ 1.

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

Одна строка: shape ndim size dtype, например (4,) 1 4 int64 или (4,) 1 4 float64.

Пример

Ввод
int
5 10 15 20 25
Вывод
(5,) 1 5 int64
РешениеPython

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

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

Связанные задачи