我目前正在使用Python制作一个tic tac toe游戏,我希望每次移动时都允许用户查看该棋盘。用户正在与计算机对战(我已将其编码以便计算机分析棋盘并进行移动)然后每个玩家关闭直到玩家获胜,打结或失败。我想要打印的是这样的:
moveList=[['X','-','-'],['O','X','-'],['X','O','-']])
<------->
< x - - > #element 1 of the list, so the first sublist
< o x - > #element 2 of the list, so the second sublist
< x o - > #element 3 of the list, so the third sublist
<------->
我建立页眉和页脚(我知道如何操作),并使用我存储移动的2D列表,以便在每次进行新移动时显示它们。这可以通过使用两个for循环和换行来完成,但我不确定如何做到这一点。任何提示将不胜感激! - 注意:我只需要一些打印2D列表行的帮助,其他一切工作正常。
编辑:
我尝试过双循环:
for a in range(len(moveList)):
for b in range(len(moveList[a])):
print moveList[a][b],
但是没有成功,因为我需要它一次只打印三个元素。
答案 0 :(得分:2)
由于moveList
是一个可迭代的,因此直接迭代它是更好的样式,而不是迭代用于索引列表的范围。
print '<------->'
for row in moveList:
print '< ' + ' '.join(row) + ' >'
print '<------->'
str.join
的明智替代方法可能是使用带有*
符号的列表解包,例如
for row in moveList:
print '< {} {} {} >'.format(*row)