python连接4板输出错误

时间:2013-10-19 05:37:03

标签: python output

我想在控制台上打印一个连接四板,我有以下代码:

def print_Board (b):
print('.'.join(map(lambda x: str(x + 1), range(connectfour.BOARD_COLUMNS))))
for y in range(connectfour.BOARD_ROWS):
    print('. '.join(b[x][y] for x in range(connectfour.BOARD_COLUMNS)))

输出应如下所示:

1 2 3 4 5 6 7
. . . . . . .
. . . . . . .
. . . . . . .
R . . . . . .
R Y R . . . .
Y Y R . . . .

但它出现了:

1.2.3.4.5.6.7
. . . . . . 
. . . . . . 
. . . . . . 
R . . . . . 
R Y R . . . 
Y Y R . . . 

1 个答案:

答案 0 :(得分:0)

如果空单元格表示为空字符串或空格字符,则可以按以下方式转储它。

def print_board (b):
    print(' '.join(map(lambda x: str(x + 1), range(connectfour.BOARD_COLUMNS))))
    for y in range(connectfour.BOARD_ROWS):
        print(' '.join(b[x][y].strip() or '.' for x in range(connectfour.BOARD_COLUMNS)))

>>> print_board([
...     [' ', ' ', ' ', ' ', 'R', 'R', 'Y'],
...     [' ', ' ', ' ', ' ', ' ', 'Y', 'Y'],
...     [' ', ' ', ' ', ' ', ' ', 'R', 'R'],
...     [' ', ' ', ' ', ' ', ' ', ' ', ' '],
...     [' ', ' ', ' ', ' ', ' ', ' ', ' '],
...     [' ', ' ', ' ', ' ', ' ', ' ', ' '],
...     [' ', ' ', ' ', ' ', ' ', ' ', ' '],
... ])
1 2 3 4 5 6 7
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
R . . . . . .
R Y R . . . .
Y Y R . . . .