
def Победитель(x): for ei in ['X', 'O']: строка=x[O][O]==x[1][O]==x[2][O] or x[O][1]==x[1][1]==x[2][1] or x[O][2]==x[1][2]==x[2][2] столбец=x[O][O]==x[O][1]==x[O][2] or ei==x[1][O]==x[1][1]==x[1][2] or ei==x[2][O]==x[2][1]==x[2][2] Диагональ=x[O][O]==x[1][1]==x[2][2] or ei=x[O][2]==x[1][1]==x[2][O] for ei in ['X', 'O']: if ei == строка: return ei else: return '?' print(Победитель([['O',' ','X'], ['O','X',' '], ['X',' ',' ']]))
Задание заключается в том, что в конечном итоге должен выдавать победителя, из ходя поля , которое нарисовано в команде print. Если победителя нет, то должен выдавать ‘?’.
Выдает ошибку:
%Run kodu4.py File "C:\Users\Ximaks\Desktop\kodu4.py", line 5 diagonaalis=x[O][O]==x[1][1]==x[2][2] or ei=x[O][2]==x[1][1]==x[2][O] ^ SyntaxError: can't assign to operator
Расскажите и если не сложно, подправьте код.
Большое спасибо
1 Ответы


Советую воспользоваться какой-нибудь IDE, например PyCharm (на скриншоте). На многие ошибки IDE сможет указать.
И не стоит пренебрегать форматированием кода.
Если приглядеться к скриншоту и к месту, где IDE не понравилось можно увидеть опечатку: or ei = x[O][2] == x[1][1] == x[2][O]
Правильно должно быть: or ei == x[O][2] == x[1][1] == x[2][O]
Проверкой и исправлением ошибок не делал, только добавил переменную O
, которая неизвестно откуда взялась вместо 0
, чтобы убрать предупреждения IDE в коде