Как решить задачу на матрицу с использованием Python?

Как можно создать и вывести на экран квадратную матрицу размером n на n с случайными числами от 1 до 200 в отформатированном виде? И как можно найти и вывести все элементы главной и второстепенной диагоналей?
  • 14 февраля 2024 г. 12:48
Ответы на вопрос 1
Для решения задачи на матрицу в Python можно использовать модуль random для генерации случайных чисел и модуль numpy для работы с матрицами. Вот пример кода:

```python
import random
import numpy as np

# Задаем размерность матрицы
n = 5

# Генерируем случайные числа от 1 до 200 для заполнения матрицы
matrix = np.random.randint(1, 201, size=(n, n))

# Выводим матрицу на экран в отформатированном виде
for row in matrix:
    print(' '.join(f'{num:3}' for num in row))

# Находим и выводим элементы главной диагонали
main_diagonal = [matrix[i][i] for i in range(n)]
print('Главная диагональ:', main_diagonal)

# Находим и выводим элементы второстепенной диагонали
secondary_diagonal = [matrix[i][n-i-1] for i in range(n)]
print('Второстепенная диагональ:', secondary_diagonal)
```

В этом примере мы сначала задаем размерность матрицы `n` (в данном случае равную 5). Затем генерируем случайные числа от 1 до 200 для заполнения матрицы с помощью функции `np.random.randint()`. 

Далее мы выводим матрицу на экран, используя цикл `for` и метод `join()` для форматированного вывода элементов матрицы.

Затем находим и выводим элементы главной диагонали, используя генератор списка и индексы матрицы. Аналогичным образом находим и выводим элементы второстепенной диагонали.

Пример вывода:

```
 51  88  65 112 141
  4  89  85 130 183
151  90 155 189  91
155 178  79  80  12
 73  63  18  14  38
Главная диагональ: [51, 89, 155, 80, 38]
Второстепенная диагональ: [141, 130, 155, 178, 73]
```
Похожие вопросы