Python 3.8.6. SyntaxError: multiple statements found while compiling a single statement. Как только пишу else:

Написал:

a = 10
if a > 10:
 print("more")
 else:

После "else:" нажимаю Enter, и выдаёт ошибку:

Вот так выглядит ошибка

Помогите, как решить?


Ответы (4 шт):

Автор решения: Zhihar

else надо без отступа относительно if

a = 10
if a > 10:
    print("more")
else:
    print("less")
→ Ссылка
Автор решения: Gladius
  1. Лишний отступ перед блоком else
  2. После else должно следовать какое-либо выражение (если вам ничего не требуется, уберите блок else)

Корректный вариант:

a = 10
if a > 10:
    print("more")
else:
    pass

Или же:

a = 10
if a > 10:
    print("more")
→ Ссылка
Автор решения: Vladyslav Shcherbyna

Большое спасибо за помощь. В общем решил всё так. Написал код сокращённым вариантом. Всё выполнилось без ошибок. Только загадка всё же осталась такой же для не сокращённого текста. Скорее всего Shell воспринимает только дозированную информацию так же, как и оказалось, коммандная строка linux, тоже.

Вот сам код: print("yes") if a==10 else print("another")

→ Ссылка
Автор решения: Эникейщик

Причина в том, что написал где-то в другом месте, а потом скопировал в IDLE. Так делать не надо.

→ Ссылка