我的条件反射有什么问题?

2024-09-29 17:16:54 发布

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

我有这个密码:

    listOfColumns = ["A", "B", "C", "D", "E", "F", "G", "H"]
    validChoice = False
    if color1 == "White":
        piece = raw_input(self.Player1["Name"] + ", pick a piece to move. Enter the coordinates (ex. A3, D4, etc.)." + "\n")
        while validChoice == False:
            column = self.position_to_xCoor(piece)
            row = self.position_to_yCoor(piece)
            piece1 = self.Chessboard.Matrix[row][column].Piece
            print piece1.Color
            print color1
            if str(piece[0]) != any(self.listOfColumns) or int(piece[1]) > 8 or piece1.Color != color1:
                piece = raw_input("That is not a valid choice. Pick again." + "\n")
            else:
                validChoice = True

其中Chessboard是另一个类的对象,该类具有属性Piece,该属性具有属性color。用户需要输入坐标(即A2、B3、D7)。但为什么我总是得到这个结果?我以为我所有的条件都满足了

White
White
That is not a valid choice. Pick again.

Tags: toselffalseinputrawpieceif属性
1条回答
网友
1楼 · 发布于 2024-09-29 17:16:54

这不是any()的工作方式。any()的结果是TrueFalse,而某物的str()将返回字符串,而不是布尔值。您需要in运算符:

if str(piece[0]) not in self.listOfColumns or...

相关问题 更多 >

    热门问题