【问题标题】:Game board printing游戏板印刷
【发布时间】:2016-10-17 21:41:45
【问题描述】:

我正在尝试使用此功能打印我的游戏板:

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),但它打印了两次,也不起作用。

另一个问题是我应该打印一个字符串,但我想不出办法,只能使用列表。

【问题讨论】:

  • 有人吗?请

标签: list python-3.x printing


【解决方案1】:

用这个替换你的代码:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多