Для этого можно использовать следующие функции:
def print_row(row):
return ' ' + '=== '*len(row) + ' \n' + '|' + '|'.join(f' {x} ' for x in row) + '|'
def print_board(arr):
return '\n'.join(print_row(row) for row in arr) + '\n ' + '=== '*len(arr[-1])
Пример использования:
>>> print(print_board([[1,2],[3,4]]))
=== ===
| 1 | 2 |
=== ===
| 3 | 4 |
=== ===
>>> print(print_board([[1,2,3],[4,5,6],[7,8,9]]))
=== === ===
| 1 | 2 | 3 |
=== === ===
| 4 | 5 | 6 |
=== === ===
| 7 | 8 | 9 |
=== === ===
Этот код будет работать для любого списка n * n ( со всеми элементами одного символа), предполагая n>0
.