Python:connect4网格

Python:connect4网格,python,join,grid,Python,Join,Grid,我正在制作一个connect 4游戏,我不知道如何使用join()函数制作网格。假设网格有7列6行。我只知道这样写 print " 1 2 3 4 5 6 7" print board[0][0] + " | " + board[0][1] + " | " + board[0][2] + " | " + board[0][3] + " | " + board[0][4] + " | " + board[0][5] + " | " + board[0][6] + "

我正在制作一个connect 4游戏,我不知道如何使用join()函数制作网格。假设网格有7列6行。我只知道这样写

print "   1   2   3   4    5   6   7"
print  board[0][0] + " | " + board[0][1] + " | " + board[0][2] + " | " + board[0][3] + " | " + board[0][4] + " | " + board[0][5] + " | " + board[0][6] + " | " + board[0][7]
print "  ---+---+---+---+---+---+---"
print  board[1][0] + " | " + board[1][1] + " | " + board[1][2] + " | " + board[1][3] + " | " + board[1][4] + " | " + board[1][5] + " | " + board [1][6] + " | " + board [1][7]  
print "  ---+---+---+---+---+---+---+"
print  board[2][0] + " | " + board[2][1] + " | " + board[2][2] + " | " + board[2][3] + " | " + board [2][4] + " | " + board [2][5] + " | " + board [2][6] + " | " + board [2][7]
print "  ---+---+---+---+---+---+---+"
print  board[3][0] + " | " + board[3][1] + " | " + board[3][2] + " | " + board[3][3] + " | " + board [3][4] + " | " + board [3][5] + " | " + board [3][6] + " | " + board [3][7]
print "  ---+---+---+---+---+---+---+"
print  board[4][0] + " | " + board[4][1] + " | " + board[4][2] + " | " + board[4][3] + " | " + board [4][4] + " | " + board [4][5] + " | " + board [4][6] + " | " + board [4][7]
print "  ---+---+---+---+---+---+---+"
print  board[5][0] + " | " + board[5][1] + " | " + board[5][2] + " | " + board[5][3] + " | " + board [5][4] + " | " + board [5][5] + " | " + board [5][6] + " | " + board [5][7]
print
尝试:

它将打印:

   1   2   3   4   5   6   7
1: X | X | X | X | X | X | X
2: X | X | X | X | X | X | X
3: X | X | X | X | X | X | X
4: X | X | X | X | X | X | X
5: X | X | X | X | X | X | X
6: X | X | X | X | X | X | X
鉴于:

两张照片:

print '   ' + '   '.join(map(str, range(1, 9)))
print '\n'.join('{0}: '.format(i+1) + ' | '.join(row) for i, row in enumerate(board))
产出:

   1   2   3   4   5   6   7   8
1: X | X | X | X | X | X | X | X
2: X | X | X | X | X | X | X | X
3: X | X | X | X | X | X | X | X
4: X | X | X | X | X | X | X | X
5: X | X | X | X | X | X | X | X
6: X | X | X | X | X | X | X | X
7: X | X | X | X | X | X | X | X
8: X | X | X | X | X | X | X | X
为清晰起见,将其分解为更具可读性的for循环:

for i, row in enumerate(board):
    actual_board = ' | '.join(row)
    row_text = '{0}: '.format(i+1)  #i+1 to start with 1 instead of 0
    print row_text + actual_board

这将打印与您的代码完全相同的结果。

因此,为了澄清问题,您想知道如何使用
join()
函数,如何制作电路板,或者如何制作电路板(假设必须使用
join()
)?如何制作电路板(假设必须使用join())如何使列号以1而不是0开头?我得到了AttributeError:“str”对象没有属性“format”@user3161743:您使用的是旧python吗
   1   2   3   4   5   6   7   8
1: X | X | X | X | X | X | X | X
2: X | X | X | X | X | X | X | X
3: X | X | X | X | X | X | X | X
4: X | X | X | X | X | X | X | X
5: X | X | X | X | X | X | X | X
6: X | X | X | X | X | X | X | X
7: X | X | X | X | X | X | X | X
8: X | X | X | X | X | X | X | X
for i, row in enumerate(board):
    actual_board = ' | '.join(row)
    row_text = '{0}: '.format(i+1)  #i+1 to start with 1 instead of 0
    print row_text + actual_board
x,y=6,7
print '   ' + '   '.join(map(str,range(1,y+1)))

for i in range(1,x+1):
    print "%d: "%i + ' | '.join(board[i-1])
    if i != x:
        print '  '+'+'.join(['---']*y)