我试图在 Python 中打印一个棋盘格模式,它需要 3 个输入,L、W 和 N。例如,如果 L = 3,W = 5,N = 2,我应该得到,

XXXXX     XXXXX
XXXXX     XXXXX
XXXXX     XXXXX
     XXXXX     XXXXX
     XXXXX     XXXXX
     XXXXX     XXXXX
XXXXX     XXXXX
XXXXX     XXXXX
XXXXX     XXXXX
     XXXXX     XXXXX
     XXXXX     XXXXX
     XXXXX     XXXXX
def cb(L, W, N):
    for row in range(0, 2*N):
        for smallrow in range(0, L):
            for col in range(0, 2*N):
                for smallcol in range(0, W):
                    if row % 2 == col % 2:
                        print('x')
                    else:
                        print(' ')
            print('\n')

我期望输出,但它打印出一列“x”。

最佳答案

问题出在您的 print 上。它的用法是:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

所以它会在你的 'x'' ' 之后自动打印一个换行符。


print('x', end='')

反而。

同样,最后 print('\n') 打印两个换行符。请改用 print()

关于python - 如何在 Python 中打印棋盘格图案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57251101/

10-12 23:08