← Все вопросы
SyntaxError на следующей строке, хотя там всё правильно — забыл закрыть скобку?
6
Питон показывает SyntaxError: invalid syntax на строке с print, но в ней точно нет ошибки:
x = (2 + 3 * 4
print(x)
Почему ругается не на ту строку?
2 ответа
11
✓ Принятый ответ — помог автору
Ошибка на самом деле на строке выше: ты открыл скобку (, но не закрыл её. Питон думает, что выражение ещё продолжается, доходит до print и только там понимает, что что-то не так — поэтому стрелка указывает на следующую строку.
Закрой скобку:
x = (2 + 3 * 4)
print(x)
Правило-подсказка: если SyntaxError показывает на строку, где всё нормально, — почти всегда не хватает закрывающей скобки, кавычки или запятой на предыдущей строке.
4
Хороший приём — считать парность скобок и кавычек: на каждую открывающую ( [ { должна быть своя закрывающая. Многие редакторы подсвечивают парную скобку, когда ставишь курсор рядом, — пользуйся этим.
Ваш ответ
Войдите, чтобы ответить на вопрос.