Не получается проверить наличие подстроки в строке python

Максимально простая задача, но я искренне не понимаю, почему не получается правильно проверить, есть ли в строке другая подстрока. При запуске этого кода выводится "апп", а должно "обязат"

text = "обязательство"

if "долевом" or "характерист" in text:
    print("апп")
elif "обязательство" or "обяз" in text:
    print("обязат")

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

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

Логическое выражение or отделяет 2 логических утверждения, вот и получает что вы спрашиваете: если "долевом" или "характерист" в тексте. Как понимаете первое утверждение не несёт смысловой нагрузки и будет всегда выдавать истину. Правильно записать так:

text = "обязательство"

if "долевом" in text or "характерист" in text:
    print("апп")
elif "обязательство" in text or "обяз" in text:
    print("обязат")
→ Ссылка