Integer division consists of two steps:
- Perform normal float division a / b.
- Round the result down to the next integer.
What is the output of this code snippet?
x = 50 // 11
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 ‘//’ operator performs integer division and the ‘/’ operator performs float division. An example for integer division is
50 // 11 = 4. An example for float division is
50 / 11 = 4.545454545454546.
Although the puzzle seems simple, more than twenty percent of the Finxter users cannot solve it.
Are you a master coder?
Test your skills now!