?
а понял, спасибо: if text == 'не текст' or text == 'другое':
если дословно - у тебя в "ифе" два условия: первое - равна ли переменная (text) указанной строке ("что то еще")? второе - длина строки ("не текст") больше нуля? Между ними у тебя стоит оператор "or", что дословно переводится как "или", вот и получается что второе условие будет всегда возвращать True (истина), поскольку длина строки "не текст" больше нуля. Получается ты всегда будешь получать True независимо от значения переменной text
Можно ещё так: if text in ["не текст", "другое"]
Ничего ты не понял, ты на вопрос так и не ответил
поч
Вопрос был задан однозначный. Что вернет выражение: False or "не текст"
нет, это строка. `bool("не текст") вернет действительно True
truthy, но не true
Ты понимаешь почему ?
Вы около часа это уже :)
не очень, но думаю из-за того что 1 значение False
Объяснение выше. TL;DR Оператор or вернет левый операнд если он True-like, в противном случае вернет правый. Оператор and вернет левый операнд если он False-like, в противном случае вернет правый.
По этому предложению уже понятно как это работает
Там выше написали вкратце
Вообще в таком случае лучше советовать почитать книжку по дискретной математике, если ВУЗ упущен целевой
+ еще докину сюда https://docs.python.org/3/reference/expressions.html#boolean-operations
Чтобы разобрать таблицы истинности булевых операций, согласен. В питоне же операторы or \ and работают несколько специфично, поэтому эти особенности нужно понимать и изучать отдельно
там расскажут про минимизацию функций, карты карно и метод квайна, потом начнут затирать про многозначные логики, спрашивается нахрена это нормальным людям
Ну смотря где и как. Если базово идти на программную инженерию, то вряд-ли так углубленно
в книжках расскажут, а ещё я как актуальный студент в IT вузе подтверждаю, что это преподаётся
более того, самое ужасное это дифференцирование и интегрирование булевых функций
хорошо, спасибо вам больше!
Обсуждают сегодня