Python函数没有被执行

时间:2017-08-31 17:40:59

标签: python

嘿我正在尝试为我正在做的这个井字游戏创建一个评估函数。基本上它的作用是检查游戏板(testBoard是我创建的示例游戏板)是否包含任何获胜条件。

但是,当我执行此代码时,终端中不会显示任何内容。任何建议将不胜感激。

ai = 0
player = 1
testBoard = [[0, 0, 1], [1, 0, 1], [1, 0, 1]]

def evaluateBoard(Board):
    # Evaluate rows
    for row in range(3):
        if Board[row][0] == Board[row][1] == Board[row][2]:
            if Board[row][0] == ai:
                return 10
            elif Board[row][0] == player:
                return -10

    # Evaluate columns
    for col in range(3):
        if Board[0][col] == Board[1][col] == Board[2][col]:
            if Board[0][col] == ai:
                return 10
            elif Board[0][col] == player:
                return -10

    # Evaluate diagonals
    if Board[0][0] == Board[1][1] == Board[2][2]:
        if Board[0][0] == ai:
            return 10
        elif Board[0][0] == player:
            return -10

    if Board[0][2] == Board[1][1] == Board[2][0]:
        if Board[0][2] == ai:
            return 10
        elif Board[0][2] == player:
            return -10

    # In case of draw, return 0
    return 0

evaluateBoard(testBoard)

2 个答案:

答案 0 :(得分:1)

return语句将值返回给解释器(如果你将函数的输出分配给变量,则返回一个变量);除非你指明它,否则它不会对它做任何事情。

您可以修改功能,其中print(10)表示result = evaluateBoard(testBoard) print(result) 或您想要的任何值。

您还可以执行以下操作:

{{1}}

答案 1 :(得分:0)

代码中没有打印件。尝试:

print evaluateBoard(testBoard)

或者如果您使用的是Python3

print(evaluateBoard(testBoard))

请记住,如果您正在执行整个文件,您将看不到与在解释器的命令行中执行Python代码相同的行为。要查看输出,您必须在标准输出上发送一些内容。