Не могу использовать оператор равенства - PullRequest
0 голосов
/ 05 ноября 2019

Когда я пытаюсь использовать оператор '=', чтобы заставить python сравнивать значения аргументов с пользовательским вводом, он говорит мне, что он просто не работает с синтаксической ошибкой.

По какой-то причине меняются всезнак равенства для оператора is исправляет эту ошибку. Хотя я чувствую, что это хороший способ сделать мою программу невероятно глючной вместо правильного исправления.

def movePieces1(initialSpot,finalSpot):
    initialSpot = input('Move which piece?: ').upper()
    finalSpot = input('To which place?: ').upper()
    if initialSpot = 'A1' and finalSpot = row1[0] or row1[2,5]:
        print('Invalid Move')

    elif initialSpot = 'A2' and finalSpot = row1[1] or row1[3,5]:
            print('Invalid Move')

Ошибка:

Файл "pown-chess.py",строка 81
, если initialSpot = 'A1' и finalSpot = row1 [0] или row1 [2,5]:
^ SyntaxError: неверный синтаксис

1 Ответ

0 голосов
/ 05 ноября 2019

Для проверки на равенство необходимо использовать ==.

=, присваивающее имя значению.

Измените его на что-то вроде этого:

def movePieces1(initialSpot,finalSpot):
    initialSpot = input('Move which piece?: ').upper()
    finalSpot = input('To which place?: ').upper()
    if initialSpot == 'A1' and finalSpot == row1[0] or row1[2,5]:
        print('Invalid Move')

    elif initialSpot == 'A2' and finalSpot == row1[1] or row1[3,5]:
            print('Invalid Move')
...