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

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

Ответ:
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]



Конечно, я могу помочь с созданием такой матрицы в 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 ```
Если у вас есть другие требования к матрице или нужны какие-то изменения, пожалуйста, сообщите!


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

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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili