NumPy
.docxНапишите программу, которая проверяет, содержится ли заданное число в массиве (одномерном или двумерном). Если содержится, выведите его индекс, в противном случае выведите сообщение о том, что число не найдено.
import numpy as np
def find_number(array, number):
# Проверка для одномерного массива
if array.ndim == 1:
if number in array:
index = np.where(array == number)[0][0]
print(f"Число найдено на индексе {index}")
else:
print("Число не найдено в массиве")
# Проверка для двумерного массива
elif array.ndim == 2:
result = np.where(array == number)
if result[0].size > 0:
# Индексы в двумерном массиве
for i in range(len(result[0])):
print(f"Число найдено на индексе ({result[0][i]}, {result[1][i]})")
else:
print("Число не найдено в массиве")
# Пример для одномерного массива
arr_1d = np.array([1, 3, 5, 7, 9])
find_number(arr_1d, 5) # Число найдено на индексе 2
find_number(arr_1d, 4) # Число не найдено в массиве
# Пример для двумерного массива
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
find_number(arr_2d, 5) # Число найдено на индексе (1, 1)
find_number(arr_2d, 10) # Число не найдено в массиве
Сгенерировать квадратную нулевую матрицу 10*10. случайным образом на матрице разместить 8 единиц.
import numpy as np
# Шаг 1: создаём нулевую матрицу 10x10
matrix = np.zeros((10, 10), dtype=int)
# Шаг 2: случайно выбираем 8 уникальных позиций
indices = np.random.choice(100, size=8, replace=False)
# Шаг 3: преобразуем индексы в координаты (строка, столбец)
rows, cols = np.unravel_index(indices, (10, 10))
# Шаг 4: размещаем единицы по выбранным координатам
matrix[rows, cols] = 1
# Выводим результат
print(matrix)
В квадратной матрице поменяйте местам главную и побочную диагонали, а также найдите сумму их элементов (Отдельно сумму элементов на главной диагонали, и отдельно сумму элементов на побочной диагонали. Размеры матрицы вводятся через input().
import numpy as np
# Ввод размера матрицы
n = int(input("Введите размер квадратной матрицы: "))
# Генерация случайной матрицы от 0 до 9
matrix = np.random.randint(0, 10, (n, n))
print("Исходная матрица:")
print(matrix)
# Вычисление сумм диагоналей ДО замены
main_diag_sum = np.trace(matrix)
anti_diag_sum = np.trace(np.fliplr(matrix))
# Замена главной и побочной диагоналей
for i in range(n):
# Сохраняем элементы перед заменой
temp = matrix[i, i]
matrix[i, i] = matrix[i, n - 1 - i]
matrix[i, n - 1 - i] = temp
print("\nМатрица после замены диагоналей:")
print(matrix)
# Вывод сумм
print("\nСумма элементов на главной диагонали (до замены):", main_diag_sum)
print("Сумма элементов на побочной диагонали (до замены):", anti_diag_sum)
Используя отрицательные индексы, выведите последний столбец из двумерного массива.
import numpy as np
# Пример матрицы 4x4
matrix = np.array([
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 0, 1, 2],
[3, 4, 5, 6]
])
# Выводим последний столбец с помощью отрицательного индекса
last_column = matrix[:, -1]
print("Последний столбец:")
print(last_column)
Напишите программу, которая поворачивает данную матрицу на 90 градусов по часовой стрелке.
import numpy as np
# Пример исходной матрицы
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print("Исходная матрица:")
print(matrix)
# Поворот на 90 градусов по часовой стрелке
rotated = np.rot90(matrix, k=-1)
print("\nМатрица после поворота на 90 градусов по часовой стрелке:")
print(rotated)
Из квадратной матрицы, любого чётного размера вывести элементы матрицы из середины размером 2*2.
import numpy as np
# Ввод чётного размера матрицы
n = int(input("Введите чётный размер квадратной матрицы: "))
# Проверка на чётность
if n % 2 != 0:
print("Ошибка: размер матрицы должен быть чётным.")
else:
# Генерация случайной матрицы от 0 до 9
matrix = np.random.randint(0, 10, (n, n))
print("\nИсходная матрица:")
print(matrix)
# Определение центра
center = n // 2
middle_2x2 = matrix[center - 1:center + 1, center - 1:center + 1]
print("\nЦентральный блок 2x2:")
print(middle_2x2)
