Сравнение значений в pythone

Не срабатывает выполнение условия, хотя оно равно True. Начальный код достаточно объемный. На скрине привел его часть с рабочими значениями.

введите сюда описание изображения

Необходимо сравнить две переменные stop_loss_new и stop_loss_old. Типы и значения приведены в окне отладчика. Так же приведён результат сравнения переменных, как видно он True. Однако в условии if логическое выражение не возвращает True, так как дальше не выводится «Check point». Возможно, это связано с типами переменных, тогда не понятно почему выше на печать выводит True.


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

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

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.

→ Ссылка