python connect 4板输出

2024-03-29 08:11:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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 . . . 

Tags: columnslambda代码inboardmapfordef
1条回答
网友
1楼 · 发布于 2024-03-29 08:11:40

如果空单元格表示为空字符串或空格字符,则可以如下所示转储它。你知道吗

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 . . . .

相关问题 更多 >