Python 3.x 函数中的If语句不´;t返回期望的结果

Python 3.x 函数中的If语句不´;t返回期望的结果,python-3.x,Python 3.x,我希望此函数检查列表测试板中是否有“”。 但每次它都会返回在else语句之后的内容。 为什么会这样 test_board=['#','X','O','X','O','O','O','X','O','X'] def满板检查(板): 对于船上物品: 如果thing==“”: 返回错误 其他: 返回真值 当我调用函数时,它每次都返回True。不管有没有 “”是否在列表中。如果列表中的任何元素等于“”,这就意味着董事会未满,我希望它的值为False。如果列表中没有“”,则应返回True,因为电路板已满

我希望此函数检查列表测试板中是否有“”。 但每次它都会返回在else语句之后的内容。 为什么会这样

test_board=['#','X','O','X','O','O','O','X','O','X']
def满板检查(板):
对于船上物品:
如果thing==“”:
返回错误
其他:
返回真值
当我调用函数时,它每次都返回True。不管有没有
“”是否在列表中。如果列表中的任何元素等于“”,这就意味着董事会未满,我希望它的值为False。如果列表中没有“”,则应返回True,因为电路板已满。

如果需要查看逻辑中的错误,请执行以下操作:

def full_board_check(board):
    for thing in board:
        if thing == " ":
            return False
        else:
            # do nothing
            pass
    return True
代码的问题在于,当检查第一个元素时,您会立即返回
True
。没有通读整个清单

如果你想用一种更具python风格的方式来做你想做的事情,只要做:

def full_board_check(board):
   return ' ' not in board