синтаксическая ошибка в условии if ... else - PullRequest
0 голосов
/ 28 апреля 2018

Я изучаю программирование на Python и застрял с синтаксической ошибкой в ​​строке 8 в следующем коде

x = int(input('Add x:\n'))
y = int(input('Add y:\n'))
if x == y :
    print('x and y are equal')
else :
    if x < y :
        print('x is less than y')
    else x > y :
        print('x is greater than y')

Я просто не вижу, что там не так.

Полная ошибка:

Traceback (most recent call last):
  File "compare.py", line 8
    else x > y :
         ^
SyntaxError: invalid syntax

1 Ответ

0 голосов
/ 28 апреля 2018

else не принимает никаких условий. Это просто else:, не более того; блок выполняется, когда условие if (и любые условия elif) не совпадают. Используйте elif, если у вас должно быть другое условие для тестирования.

В вашем случае просто используйте

if x == y:
    print('x and y are equal')
elif x < y:
    print('x is less than y')
else:
    print('x is greater than y')

Нет необходимости явно проверять x > y, потому что это единственный оставшийся вариант (x не равен или меньше, следовательно, он больше), поэтому else: здесь хорошо.

Обратите внимание, что я свернул ваше вложенное выражение if ... else в расширение elif ... else на верхнем уровне if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...