Сравнение значений в pythone
Не срабатывает выполнение условия, хотя оно равно True
.
Начальный код достаточно объемный. На скрине привел его часть с рабочими значениями.
Необходимо сравнить две переменные stop_loss_new
и stop_loss_old
.
Типы и значения приведены в окне отладчика.
Так же приведён результат сравнения переменных, как видно он True
. Однако в условии if
логическое выражение не возвращает True
, так как дальше не выводится «Check point».
Возможно, это связано с типами переменных, тогда не понятно почему выше на печать выводит True.
Ответы (1 шт):
if statement == True
— никогда так не пишите ;) Во-первых, это эквивалентно if statement
. И, во-вторых, могут произойти проблемы с приоритетом операций. В вашем случае (stop_loss_new > stop_loss_old) == True
вернёт True
, а stop_loss_new > stop_loss_old == True
вернёт False
.
Вам просто нужно написать: if stop_loss_new > stop_loss_old
.