[英]What's wrong with my conditional?
我有这个代码:
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 的类的对象,该类具有属性颜色。 用户需要输入坐标(即 A2、B3、D7)。 但是为什么我一直得到这个结果? 我以为我所有的条件都满足了。
White
White
That is not a valid choice. Pick again.
这不是any()
工作方式。 any()
的结果是True
或False
,而某个东西的str()
将返回一个字符串,而不是一个布尔值。 您需要in
运算符:
if str(piece[0]) not in self.listOfColumns or...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.