我正试图用这个功能打印我的游戏板:
board
是一个包含游戏中坐标或单元格的列表
lst
是一个包含所有坐标的列表。
def board_to_string(lst,board):
for n in lst:
for m in range(3):
# it should be board[i]
if n[m] in board[0]:
n[m] = "o"
else:
n[m] = " "
for lst2 in lst:
print("---------------")
print(str(lst2))
a = [['a1','b1','c1'],['a2','b2','c2'],['a3','b3','c3']]
b = [['b1','a3','a2'],['a2','g1']]
board_to_string(a,b)
输出是:
---------------
[' ', 'o', ' ']
---------------
['o', ' ', ' ']
---------------
['o', ' ', ' ']
有两个问题,我希望它能够搜索每个子列表板中的坐标。我尝试添加for i in range(3)
,但它会打印两次,但也不起作用。
另一个问题是我应该打印一个字符串,但我想不出办法,只能使用列表。
答案 0 :(得分:0)
用以下代码替换您的代码:
def board_to_string(lst,board):
print("------")
for n in lst:
for m in range(3):
# it should be board[i]
if n[m] in board[0]:
print("o", end="")
elif n[m] in board[1]:
print("x", end="")
else:
print(" ", end="")
print("|", end="")
print("\n------")
a = [['a1','b1','c1'],['a2','b2','c2'],['a3','b3','c3']]
b = [['b1','a3','a2'],['a1','c1']]
board_to_string(a,b)
请注意,我更正了最后一行(列表b)