← Все вопросы
Почему if x = 5 выдаёт ошибку?
14
Пишу проверку:
if x = 5:
print('пять')
А питон ругается SyntaxError. Что не так?
3 ответа
25
✓ Принятый ответ — помог автору
Ты перепутал присваивание и сравнение.
=— это присваивание (положить значение в переменную).==— это сравнение (проверить равенство).
В условии нужно сравнение:
if x == 5:
print('пять')
Кстати, это специально сделано: в Python нельзя случайно написать = вместо == в условии — он выдаст синтаксическую ошибку сразу, а не молча присвоит. В Си, например, if (x = 5) компилируется и порождает багу, а тут ты защищён.
(Отдельно есть «морж» := для присваивания внутри выражения, но это другая история и в обычном if он тебе сейчас не нужен.)
Диана Герасимова точно, == забыл. спасибо, дошло 🙏 · 2 месяца назад
11
Для сравнения нужно ==, а = — это присваивание.
4
if x == 5:
Ваш ответ
Войдите, чтобы ответить на вопрос.