列出任何项目

2024-09-29 07:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我写了一个井字游戏,我用这个作为列表的格式:

board = [["0", "1", "2"],
         ["3", "4", "5"],
         ["6", "7", "8"]]

所以当我为tic-tac-toe写人工智能的时候,我遇到了一个问题

for i in board:
    if i == ["X","X"," "]:
        return i[2]
    elif i == ["X"," ","X"]:
        return i[1]
    elif i == [" ","X","X"]:
        return i[0]
for i in horzboard:
    if i == ["X","X"," "]:
        return i[2]
    elif i == ["X"," ","X"]:
        return i[1]
    elif i == [" ","X","X"]:
        return i[0]

它不能工作,因为python在这个项目上是特定的,所以有没有一种方法可以告诉python这就是我想要的(例如*s是任何东西):

for i in board:
    if i == ["X","X",*]:
        return i[2]
    elif i == ["X",*,"X"]:
        return i[1]
    elif i == [*,"X","X"]:
        return i[0]
for i in horzboard:
    if i == ["X","X",*]:
        return i[2]
    elif i == ["X",*,"X"]:
        return i[1]
    elif i == [*,"X","X"]:
        return i[0]

谢谢!你知道吗


Tags: inboard游戏列表forreturnif格式
1条回答
网友
1楼 · 发布于 2024-09-29 07:23:37

如果您试图在一个电路板中找到不是“X”的值(这是您的示例代码所建议的),那么我将使用一个函数,您可以根据您的示例将boardhorzboard传递给它。你知道吗

# This will return a list of all non-X values in the entire board

def return_marks(board):

    mark_list = [(arr,mark) for arr in board for mark in arr if mark != 'X']

        return mark_list

# If you just want the first non-X value to cause the function to stop and return that non-X value, then try this.

def return_marks(board):    
    for row in board:

        for mark in row:

            if mark != 'X':
                return mark

相关问题 更多 >