Вопрос задан 16.11.2023 в 20:34. Предмет Информатика. Спрашивает Оганян Михаил.

Python помогите очень срочно сделать вот такую матрицудопустим n =1 2 3# 1 1 1 1 1# 12221# 12321#

12221# 1 1 1 1 1помогите пожалуйста ​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Хлыстиков Максим.

Ответ:

val_list = [int(input()) for _ in range(3)]

final_matrix = [[] for i in range(len(val_list))]

for value_index, value in enumerate(val_list):

for index, i in enumerate(final_matrix):

if value_index <= index:

final_matrix[index].append(value)

else:

final_matrix[index].append(val_list[index])

for row in final_matrix:

row += reversed(row[:-1])

final_matrix += reversed(final_matrix[:-1])

for i in final_matrix:

print(i)

Объяснение:

входные данные: количество значений можно изменить, но надо это делать в ручную, или же можно как-то по-своему. я этот момент захардкодил, но в целом от этого ничего не зависит.

алгоритм создания матрицы: первоначально матрица состоит из пустых списков количество которых равно длине списка с входными данными.

алгоритм внесения в матрицу значений: вносимое число проверяется: если оно меньше или равно максимально допустимому(максимально допустимое значение в строке равно соответственно индексу в массиве значений) то вносится в строку матрицы, иначе вносится макс. допустимое значение.

алгоритм отражения: после всех махинаций матрица с входными данными [1, 2, 3] будет выглядеть так:

[1, 1, 1]

[1, 2, 2]

[1, 2, 3]

для получения зеркального отражения в строчках я прохожусь по каждой строке и добавляю к ней эту же отраженную строчку без последнего элемента.

далее я делаю такую же операцию, но только со всей матрицей.

вывод:

[1, 1, 1, 1, 1]

[1, 2, 2, 2, 1]

[1, 2, 3, 2, 1]

[1, 2, 2, 2, 1]

[1, 1, 1, 1, 1]

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь с созданием такой матрицы в Python! Чтобы создать данную матрицу, нужно использовать двумерный список или массив. Вот пример кода на Python, который создаст нужную матрицу:

```python n = 5 # Размер матрицы

# Создаем пустую матрицу размером n x n, заполненную нулями matrix = [[0 for _ in range(n)] for _ in range(n)]

# Заполняем матрицу согласно заданным условиям for i in range(n): for j in range(n): if i == 0 or i == n - 1 or j == 0 or j == n - 1 or i == j or i + j == n - 1: matrix[i][j] = 1 else: matrix[i][j] = 2

# Выводим матрицу на экран for row in matrix: print(' '.join(map(str, row))) ```

Этот код создает матрицу размером 5x5, удовлетворяющую заданным условиям. Если вам нужна матрица другого размера, достаточно изменить значение переменной `n`.

Примерно такая матрица будет выведена:

``` 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 ```

Если у вас есть другие требования к матрице или нужны какие-то изменения, пожалуйста, сообщите!

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос