Помогите решить задачу на Python
Заполните матрицу следующим образом: в правой четверти, справа от пересечения главной и побочной диагонали, стоят единицы; на обрамляющих эту область частях главной и побочной диагонали стоят нули; остальная матрица заполнена двойками.
Формат входных данных
Программа получает на вход целое число n в пределах от 3 до 100 - количество строк и столбцов в матрице.
Формат выходных данных
Программа выводит на экран матрицу в указанном виде. Числа в строке разделяются пробелом. Значения функции обязательно получать только с помощью генератора. Замените многоточие в предзагруженном коде на требуемый генератор. Кроме этого ничего в программе не изменяйте.

Приложения:

Ответы

Ответ дал: MaxLevs
1

Python 3.

Код:

  • n = int(input())
  • lst = [[0 if x > n / 2 - 1 and (x == y or n - x - 1 == y) else 1 if x > n / 2 - 1 and (x > y > n - x - 1) else 2 for x in range(n)] for y in range(n)]
  • for row in lst:
  •    print(*row)

Приложения:

TotoshaP: Большое спасибо, решение прошло.
MaxLevs: Это было лучшее, что могло произойти с этим кодом)
Вас заинтересует