# Chapter 5. Conditionals and Recursion

# Modulus Operator

The **modulus operator**
works on integers and yields the remainder when the first operand is
divided by the second. In Python, the modulus operator is a percent sign
(`%`

). The syntax is the
same as for other operators:

>>> quotient = 7 / 3 >>> print quotient 2 >>> remainder = 7 % 3 >>> print remainder 1

So 7 divided by 3 is 2 with 1 left over.

The modulus operator turns out to be surprisingly useful. For
example, you can check whether one number is divisible by another—if
`x % y`

is zero, then `x`

is divisible by `y`

.

Also, you can extract the right-most digit or digits from a
number. For example, `x % 10`

yields
the right-most digit of `x`

(in base
10). Similarly `x % 100`

yields the
last two digits.

# 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
**relational 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`

Although these operations are probably familiar to you, the Python symbols are different from the mathematical symbols. A common error is to ...

Get *Think Python* now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.