Я пытаюсь сравнить две строки, например. if self.Ends == '101100' or '001101'
. self.Ends
находится в классе для сравнения двух трехмерных координат. он может содержать 000100
. Есть восемь сравнений if
elif
.Сравнение строк с == дает неправильное значение?
Программа всегда возвращает 'a'
, даже self.Ends
имеет еще одну строку 01.
if self.Ends == '100101' or '101100':
P_line.Line = 'a'
elif self.Ends == '000100' or '100000':
P_line.Line = 'b'
' «101100» является строкой, отличной от нулевой длины, и, как таковая, всегда верна. Так и '100000''. Поэтому и ваши утверждения 'if' всегда верны. – kindall
Обычно я большой поклонник языковых конструкций, которые читаются как английский, но этот человек слишком много путешествует. –