# Python Integer Division [2-Min Tutorial]

When I started to learn Python 3, I used to be confused about the semantics of dividing two integers. Is the result a float or an integer value?

The reason for my confusion was a nasty Java bug that I once found in my code. The code was supposed to perform a simple division of two integers to return a parameter value between zero and one. But Java uses integer division, i.e., it skips the remainder. Thus, the value was always either zero or one, but nothing in-between. It took me days to figure that out.

Save yourself the debugging time by memorizing the following rule once and for all.

The double-backslash `//` operator performs integer division and the single-backslash `/` operator performs float division. An example for integer division is `40//11 = 3`. An example for float division is `40/11 = 3.6363636363636362`.

```>>> # Python 3
>>> 40//11
3
>>> 40/11
3.6363636363636362```

## How Does Integer Division Work In Python?

Integer division consists of two steps:

1. Perform normal float division `a / b.`
2. Round the resulting float number down to the next integer.

Here’s an example:

```x = 30 // 11
print(x)
# 2```

## Integer Division Python 2 vs 3

Python 2.x divides two integers using integer division, also known as floor division because it applies the floor function after the regular division to “round it down”, so it evaluates the expression `5/2` to `2`. In Python 3, integer division is performed using the double frontslash `5//2` which evaluates to `2`. The single frontslash for floor division “/” is depreciated in Python 2.2+ and Python 3.

Here’s the code for integer division in Python 2 using the single frontslash operator `/`:

```# Python 2
print(10/3)
# 3```

And here’s the code for integer division in Python 3 using the double backslash operator `//`:

```# Python 3
print(10//3)
# 3```

## Interactive Shell + Puzzle

You can try it in our interactive Python shell:

Exercise: What is the output of this code snippet?

Although the puzzle seems simple, more than twenty percent of the Finxter users cannot solve it. You can check whether you solved it correctly here: Test your skills now!

## Arithmetic Operators

Arithmetic operators are syntactical shortcuts to perform basic mathematical operations on numbers. 