Крестики и нолики (упрощенное) на заданном поле

402 просмотра
0
0 Комментариев

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 Ответы

Python Опубликовано 12.12.2018
0

Советую воспользоваться какой-нибудь 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 в коде

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up