Условия можно объединять логическими операторами: and (и — оба условия истинны), or (или — хотя бы одно истинно), not (не — отрицание).
Примеры: if age >= 18 and has_ticket: (и совершеннолетний, и есть билет). if day == "сб" or day == "вс": (суббота или воскресенье). if not is_ready: (если не готов).
В Python есть понятие «истинности» значений: пустая строка "", ноль 0, пустой список [] считаются ложными (False), а непустые — истинными. Поэтому if name: означает «если имя не пустое». Это удобно для коротких проверок. Сравнения и логику комбинируют со скобками для ясности: if (a > 0 and b > 0) or c == 0:.