Как бы я сравнил одно значение с несколькими? - PullRequest
0 голосов
/ 14 февраля 2019
past_move = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
o_win = ["O", "O", "O"]
if past_move[:3] == o_win or past_move[3:5] == o_win or past_move[6:8] == o_win or past_move[:8:3] == o_win or past_move[1::3] == o_win or past_move[2::3] == o_win or past_move[0::4] == o_win or past_move[2:8:2] == o_win:

Это мой текущий код, но он мне не нравится, потому что если я захочу добавить другой набор переменных для сравнения с ним, это будет длинная часть кода, работающего медленно.past_move имеет "Os", добавляемый в разные места в строке, и мне нужно проверить шаблон в шаблоне "Os"

Есть ли более эффективный способ выписать это if утверждение

1 Ответ

0 голосов
/ 14 февраля 2019

Используйте оператор in для списка ваших сравниваемых значений :

if o_win in [past_move[:3], past_move[3:5], past_move[6:8],
             past_move[:8:3], past_move[1::3], past_move[2::3],
             past_move[0::4], past_move[2:8:2]]:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...