Как сделать матрицу указанного размера из точек через пробел используя один цикл?
Нужно создать матрицу n на n, к примеру, n = 3. При этом матрица должна быть заполнена точками через пробел. Сама задача: создать матрицу какую я описал выше, при этом используя только один цикл. Использование библиотек или методов, которые напрямую выполняют задачу (если такие есть), не приветствуется.
Пример правильного вывода при n = 3: . . .(enter). . .(enter). . .
Важное уточнение: в конце строк не должно быть пробелов, тоесть такие варианты являются не правильными: matrix = ['. ' * n for i in range(n)]
.
Тоесть нужно именно техническое решение.
Ответы (2 шт):
Автор решения: Imas
→ Ссылка
def create_matrix(n):
matrix = []
row = []
for i in range(n * n):
row.append('.')
if (i + 1) % n == 0:
matrix.append(' '.join(row))
row = []
return matrix
n = 3
result = create_matrix(n)
for line in result:
print(line)
Автор решения: strawdog
→ Ссылка
n = 5
_ = [print("."+" "*bool((x+1)%n)+ "\n"*(not(x+1)%n), end="") for x in range(n*n)]
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .