Conditions are values
An if statement does not contain a question, it contains a value that is yes or no. That means you can store the condition in a name, print it, and test it in isolation. Splitting a big condition into named parts is what makes it readable.
The three words
and, or and not are the whole toolkit for conditions. Anything more complicated is built from them. When a condition becomes hard to read, the fix is usually to name each part rather than to add new symbols.