Помогите решить задачу на Python
Заполните матрицу следующим образом: в правой четверти, справа от пересечения главной и побочной диагонали, стоят единицы; на обрамляющих эту область частях главной и побочной диагонали стоят нули; остальная матрица заполнена двойками.
Формат входных данных
Программа получает на вход целое число n в пределах от 3 до 100 - количество строк и столбцов в матрице.
Формат выходных данных
Программа выводит на экран матрицу в указанном виде. Числа в строке разделяются пробелом. Значения функции обязательно получать только с помощью генератора. Замените многоточие в предзагруженном коде на требуемый генератор. Кроме этого ничего в программе не изменяйте.
Приложения:
![](https://st.uroker.com/files/88c/88c76bc46bb562341c69218f040fe1f6.png)
Ответы
Ответ дал:
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)
Приложения:
![](https://st.uroker.com/files/671/67122ba44ab821cc0494c06db7e45d9a.png)
TotoshaP:
Большое спасибо, решение прошло.
Вас заинтересует
11 месяцев назад
11 месяцев назад
1 год назад
6 лет назад
7 лет назад