Eсть ли более питоновский способ вывести квадрат из нулей с единицами по диагоналям?
size = int(input())
row = [0 for i in range(size)]
for i in range(len(row)):
row[i], row[-i-1] = 1, 1
row_t = ' '.join(str(k) for k in row)
print(row_t)
row[i], row[-i-1] = 0, 0
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Так, например:
import numpy as np
size = 10
matrix = np.zeros((size, size), int)
np.fill_diagonal(matrix, 1)
np.fill_diagonal(np.fliplr(matrix), 1)
print(matrix)
Вывод:
[[1 0 0 0 0 0 0 0 0 1]
[0 1 0 0 0 0 0 0 1 0]
[0 0 1 0 0 0 0 1 0 0]
[0 0 0 1 0 0 1 0 0 0]
[0 0 0 0 1 1 0 0 0 0]
[0 0 0 0 1 1 0 0 0 0]
[0 0 0 1 0 0 1 0 0 0]
[0 0 1 0 0 0 0 1 0 0]
[0 1 0 0 0 0 0 0 1 0]
[1 0 0 0 0 0 0 0 0 1]]