#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)