Распечатайте вложенный список как сетку, используя циклы или .join - PullRequest
0 голосов
/ 26 января 2020

Я создаю игру Connect 4 в качестве проекта и могу использовать только циклы или .join. Если мой 2D-список:

    Arr = [[1,2],[3,4]]

Я хочу, чтобы он отображался как:

     === ===
    | 1 | 2 |
     === ===
    | 3 | 4 |
     === ===

Я хочу, чтобы код работал для любой матрицы n * n.

1 Ответ

0 голосов
/ 29 января 2020

Для этого можно использовать следующие функции:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...