Как создать двумерный массив?
Как создать двумерный массив из '*' , чтобы можно было обратиться к определённому элементу из строки и столбца этого массива.
board = ['*','*','*','*',]
def draw_board(board):
print('-' * 21)
for i in range(4):
print("|", board[0], "|", board[0], "|", board[0], "|", board[0], "|", board[0], "|")
print("-" * 21)
draw_board(board)
Вывод :
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
Сделал какую-то фигню и теперь не понимаю как обращаться к элементам.
Ответы (3 шт):
Автор решения: Zhihar
→ Ссылка
двухмерный массив - это просто массив массивов
например создание массива 10x10:
arr = [['*' for y in range(10) ] for x in range(10)]
arr[1][3] = 1
print(arr)
Автор решения: strawdog
→ Ссылка
dim = 5 # размерность массива (квадратная матрица)
arr = [['*' for x in range(dim)] for y in range(dim)] # сам массив
собственно, все. Если вам нужно нарисовать фигуру из этого массива, то вот так можно:
def draw_board(a: list):
print("-"*(len(arr)*4+1))
for i in range(len(a)):
print("|", end="")
for j in range(len(a[0])):
print(f" {a[i][j]} |", end="")
#a[i][j] - это и есть обращение к элементу двумерного массива
print("\n"+"-"*(len(arr)*4+1))
draw_board(arr)
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
| * | * | * | * | * |
---------------------
Автор решения: Exe
→ Ссылка
Используйте numpy.
import numpy as np
array = np.full((5, 5), "*", dtype=np.str)
print(array)
Вывод
[['*' '*' '*' '*' '*']
['*' '*' '*' '*' '*']
['*' '*' '*' '*' '*']
['*' '*' '*' '*' '*']
['*' '*' '*' '*' '*']]