如何在 Python 中打印井字游戏中的字符

问题描述 投票:0回答:1

我正在尝试创建一个井字棋游戏,我的初始棋盘显示应如下所示

X |哦| X

X | X |

O |哦| X

但是我的程序打印如下:

X | 哦| X|

|

O | X|

|

O | X |

如何打印以实现指标目标。我的程序将接受尺寸并打印相同数量的行和列,最多 5x5

这是我的代码:

import math

def display_board(board):
    dimensions = ['4', '9','16','25']
    elems = int(len(board))

    if (elems in dimensions):
        print ('COLUMNS AND ROWS ARE EQUAL')
    else:
        print ('COL AND ROWS ARE NOT EQUAL')
   
    rows = int (math.sqrt(elems))
    cols = rows
    

    for r in range (0,rows,1):
        for c in range (0,cols,1):
            print (' ' + board[elems-1] + ' |')
            elems = elems -1    
        print ('\n')


brd = ['X','O','#','X','O','#','X','O','X']
display_board (brd)
python
1个回答
0
投票

print() 自动以换行符结束。因此,您需要将不需要换行符的行更改为

end=''
(空字符串)。

此外,您的

print('\n')
会执行双换行,因为您明确给出了一个换行符,并且它像往常一样添加了一个换行符。您可能只想
print()
在那里。

总共:

for r in range (0,rows,1):
    for c in range (0,cols,1):
        print(' ' + board[elems-1] + ' |', end='')
        elems = elems -1    
    print()
© www.soinside.com 2019 - 2024. All rights reserved.