# Conditional Execution in Python (Part I)

Boolean Expressions

A boolean expression is an expression that is either true or false. The following examples use the operator ==, which compares two operands and produces True if they are equal and False otherwise.

>>> 5 == 5
True
>>> 5 == 6
False

True and False are special values that belong to the type bool; they are not strings:
>>> type(True)
<type ‘bool’>

>>> type(False)
<type ‘bool’>

The == operator is one of the comparison operators; the others are:
``` x != y           # x is not equal to y x > y            # x is greater than y x < y            # x is less than y x >= y           # x is greater than or equal to y x <= y           # x is less than or equal to y x is y           # x is the same as y x is not y       # x is not the same as y ```

A common error is to use a single equal sign (=) instead of a double equal sign (==). Remember that = is an assignment operator and == is a comparison operator. There is no such thing as =< or =>.

Logical Operators

There are three logical operators: and, or, and not. The semantics (meaning) of these operators is similar to their meaning in English. For example,
x > 0 and x < 10  is true only if x is greater than 0 and less than 10.

n%2 == 0 or n%3 == 0   is true if either of the conditions is true, that is, if the number is divisible by 2 or 3.

Finally, the not operator negates a boolean expression, so not (x > y) is true if x > y is false, that is, if x is less than or equal to y.