Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

NumPy

.docx
Скачиваний:
0
Добавлен:
16.06.2026
Размер:
83.59 Кб
Скачать
  1. Напишите программу, которая проверяет, содержится ли заданное число в массиве (одномерном или двумерном). Если содержится, выведите его индекс, в противном случае выведите сообщение о том, что число не найдено.

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) # Число не найдено в массиве

  1. Сгенерировать квадратную нулевую матрицу 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)

  1. В квадратной матрице поменяйте местам главную и побочную диагонали, а также найдите сумму их элементов (Отдельно сумму элементов на главной диагонали, и отдельно сумму элементов на побочной диагонали. Размеры матрицы вводятся через 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)

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

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)

  1. Напишите программу, которая поворачивает данную матрицу на 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)

  1. Из квадратной матрицы, любого чётного размера вывести элементы матрицы из середины размером 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)

Соседние файлы в предмете Программирование на Python