python używający any () i all () do sprawdzenia, czy lista zawiera jeden zestaw wartości lub inny
Mój kod dotyczy gry Tic Tac Toe i sprawdzania stanu losowania, ale myślę, że to pytanie może być bardziej użyteczne w ogólnym znaczeniu.
Mam listę reprezentującą tablicę, wygląda to tak:
board = [1,2,3,4,5,6,7,8,9]
Gdy gracz wykona ruch, int., Na które się poruszył, zostaje zastąpiony znacznikiem („x” lub „o”), mam już czeki, aby szukać zwycięskiego stanu, nie mogę jednak sprawdzić losowania state, gdzie żadna z wartości listy nie jest int, ale stan wygranej nie został ustawiony.
Kod, który mam do tej pory:
if any(board) != playerOne or any(board) != playerTwo:
print 'continue'
elif all(board) == playerOne or playerTwo:
print 'Draw'
Instrukcja if działa, elif nie, myślę, że problemem jest mój operator „lub”, co chcę sprawdzić, jeśli: każdy element na planszy jest znacznikiem playerOne lub znacznikiem playerTwo, jeśli gdzie mam zrobić kod:
elif all(board) == playerOne or all(board) == playerTwo:
Sprawdzałbym, czy każde miejsce na planszy to playerOne, czy każde miejsce na planszy to playerTwo, którego nie będzie.
Jak więc sprawdzić, czy plansza jest zajęta przez kombinację znaczników playerOne i znaczników graczaTwo?