Python, использующий any () и all (), чтобы проверить, содержит ли список один набор значений или другой

Мой код предназначен для игры в крестики-нолики и проверки состояния ничьей, но я думаю, что этот вопрос может быть более полезным в общем смысле.

У меня есть список, который представляет плату, это выглядит так:

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

Когда игрок делает ход, заменяемый мною int на его маркер ('x' или 'o'), у меня уже есть чеки, чтобы найти выигрышное состояние, но я не могу проверить, есть ли ничья. состояние, в котором ни одно из значений списка не является целым числом, но состояние выигрыша не было установлено.

Код у меня так далеко:

if any(board) != playerOne or any(board) != playerTwo:
    print 'continue'
elif all(board) == playerOne or playerTwo:
    print 'Draw'

Оператор if работает, elif - нет, я думаю, что проблема заключается в моем операторе 'or', и я хочу проверить следующее: если каждый элемент на доске - это маркер playerOne или playerTwo, если я должен сделать код:

elif all(board) == playerOne or all(board) == playerTwo:

Я бы проверил, было ли каждое место на доске игрок-одно или каждое место на доске-игрок два, чего не будет.

Итак, как я могу проверить, занята ли доска комбинацией маркеров playerOne и маркеров playerTwo?

Ответы на вопрос(1)

Ваш ответ на вопрос