Как я могу печатать списки в разных строках

#python

#python

Вопрос:

Я пытаюсь создать доску для игры в крестики-нолики с матрицей списков, но я не могу упорядочить каждый список в разных строках в 3×3 raw и столбцах, может кто-нибудь мне помочь, пожалуйста?

 ''' 
board = [
[ "|_|","|_|","|_|"],
["|_|","|_|","|_|"],
["|_|","|_|","|_|"],  
]

print (board)

'''
  

Комментарии:

1. Не имеет отношения к проблеме, но я бы предложил хранить только фактическое состояние игры в board (т. Е. Является ли это нулем, крестом или пустым, с использованием одиночных символов или четных чисел), а не те декоративные _ и | . Они должны быть добавлены в какую print_board -либо функцию.

Ответ №1:

Может быть, вы могли бы создать вспомогательную функцию, называемую чем-то вроде print_current_board того, где вы используете str.join для печати каждой строки с вкладками между ячейками строки:

 def print_current_board(board):
    for row in board:
        print('t'.join(row))

board = [
    ["|_|", "|_|", "|_|"],
    ["|_|", "|_|", "|_|"],
    ["|_|", "|_|", "|_|"],
]

print_current_board(board)
  

Вывод:

 |_| |_| |_|
|_| |_| |_|
|_| |_| |_|
  

Комментарии:

1. Вместо ' '.join этого вы также можете просто сделать print(*row) , это автоматически напечатает элементы row , разделенные пробелами, как если бы print(row[0], row[1], ...)

Ответ №2:

 #You can use End in Print statement:-
def print_current_board(board):
    for row in board:
        for i in row:
            print(i,end='')
        print('')

board = [
    ["|_|", "|_|", "|_|"],
    ["|_|", "|_|", "|_|"],
    ["|_|", "|_|", "|_|"] ]

print_current_board(board)