← Все вопросы

Почему if a = b выдаёт SyntaxError, а не сравнивает?

Задан 10 месяцев назад993 просмотров1 ответ
5

Пишу проверку, равны ли два числа, но питон выдаёт ошибку прямо на строке с if:

a = 5
b = 5
if a = b:
    print("равны")

Почему нельзя так написать?

1 ответ

10
✓ Принятый ответ — помог автору

Ты перепутал два разных знака:

  • = — это присваивание (положить значение в переменную).
  • == — это сравнение (проверить, равны ли).

Внутри if нужно именно сравнение, поэтому два знака равно:

if a == b:
    print("равны")

Кстати, питон специально запрещает = внутри if синтаксисом — в других языках (C, JS) это разрешено и приводит к коварным багам, а здесь ты сразу видишь ошибку. Это плюс.

Ваш ответ

Войдите, чтобы ответить на вопрос.