
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What Does 'Mean' Mean in Python
In this article, we will learn about the // operator in Python in detail.
To do floor division in Python, use the double slash // operator. This // operator divides the first number by the second number and rounds the result to the closest integer (or whole number).
Syntax of // Operator
To utilize the double slash // operator, follow the same steps as in regular division. The only difference is that you use a double slash // instead of a single slash / ?
Syntax
first_number// second_number
Floor Division
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task. ?
Create a variable to store the input number 1.
Create another variable to store the input number 2.
Use the double slash // operator, to perform the floor division by dividing inputNumber_1 by inputNumber_2 and create another variable to store it. The double-slash(//) operator returns the result as an integer by rounding off to the nearest integer.
Print the result of the floor division of inputNumber_1 by inputNumber_2.
Example
The following program returns the floor division of the first number by the second one using the// operator in Python ?
# input number 1 inputNumber_1 = 10 # input number 2 inputNumber_2 = 3 # performing floor division by dividing inputNumber_1 by inputNumber_2 # it returns the result as an integer by rounding off to the nearest integer result_number = inputNumber_1 // inputNumber_2 # printing the result of floor division of inputNumber_1 by inputNumber_2 print("floor division of inputNumber_1 by inputNumber_2 = ", result_number)
Output
floor division of inputNumber_1 by inputNumber_2 = 3
Showing the Difference Between // and / Operators
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task. ?
Creating a variable to store the input numbe1.
Creating another variable to store the input numbe2.
Use the double slash(//) operator to perform the floor division by dividing inputNumber_1 by inputNumber_2. It returns the result as an integer by rounding off to the nearest integer
Print the result of the floor division of inputNumber_1 by inputNumber_2
Use the single slash(/) to perform division by dividing inputNumber_1 by inputNumber_2. It returns the result as a floating-point number.
Print the result of the division of inputNumber_1 by inputNumber_2.
Example
The following program returns the floor division and division of the first number by the second one using the // and / operators in Python ?
# input number 1 inputNumber_1 = 10 # input number 2 inputNumber_2 = 3 # performing floor division by dividing inputNumber_1 by inputNumber_2 using // # it returns the result as an integer by rounding off to the nearest integer result_floordiv = inputNumber_1 // inputNumber_2 # printing the result of floor division of inputNumber_1 by inputNumber_2 print("Floor division of inputNumber_1 by inputNumber_2 = ", result_floordiv) # performing division by dividing inputNumber_1 by inputNumber_2 using / # it returns the result as a floating-point number result_div = inputNumber_1 / inputNumber_2 # printing the result of the division of inputNumber_1 by inputNumber_2 print("Division of inputNumber_1 by inputNumber_2 = ", result_div)
Output
Floor division of inputNumber_1 by inputNumber_2 = 3 Division of inputNumber_1 by inputNumber_2 = 3.3333333333333335
The above code shows that the double slash(//) operator rounds down the result of the division of two numbers to the nearest whole number.
NOTE ? If we do floor division with a negative number, the result would still be rounded down(nearest integer)
Double Slash // Operator Functions Similarly to math.floor()
In Python, math.floor(), like the double slash // operator, rounds down a number to the nearest integer.
Example
Because they do the same thing behind the scenes, math.floor() is an alternative to the // operator.
# importing math module import math # input number 1 inputNumber_1 = 10 # input number 2 inputNumber_2 = 3 # performing floor division by dividing inputNumber_1 by inputNumber_2 using // # it returns the result as an integer by rounding off to the nearest integer result_floordiv = inputNumber_1 // inputNumber_2 # printing the result of floor division of inputNumber_1 by inputNumber_2 print("Floor division of inputNumber_1 by inputNumber_2 = ", result_floordiv) # performing division by dividing inputNumber_1 by inputNumber_2 using / # it returns the result as a floating-point number result_mathfloor = math.floor(inputNumber_1 / inputNumber_2) # printing the result of the division of inputNumber_1 by inputNumber_2 print("math.floor of inputNumber_1 by inputNumber_2 = ", result_mathfloor)
Output
Floor division of inputNumber_1 by inputNumber_2 = 3 math.floor of inputNumber_1 by inputNumber_2 = 3
Behind the Scenes of the Double Slash // Operator
When you use the // operator to divide two numbers, the __floordiv__() function is called behind the scenes.
Example
The following program shows the how the // operator works ?
# importing math module import math # input number 1 inputNumber_1 = 10 # input number 2 inputNumber_2 = 3 # performing floor division by dividing inputNumber_1 by inputNumber_2 using // # it returns the result as an integer by rounding off to the nearest integer result_floordiv = inputNumber_1 // inputNumber_2 # printing the result of floor division of inputNumber_1 by inputNumber_2 print("Floor division of inputNumber_1 by inputNumber_2 = ", result_floordiv) # performing division by dividing inputNumber_1 by inputNumber_2 using / # it returns the result as a floating-point number floordiv = inputNumber_1.__floordiv__(inputNumber_2) # printing the result of the division of inputNumber_1 by inputNumber_2 print("The floordiv method returns the same result as = ", floordiv)
Output
Floor division of inputNumber_1 by inputNumber_2 = 3 The floordiv method returns the same result as = 3
Conclusion
You've learned how to utilize the double slash // operator and how it works behind the scenes in this tutorial. In addition, you learned about two // operator alternatives: math.floor() and the __floordiv__() function.
Don't get mixed up on which to use. The three methods of floor division all work in the same way. However, I recommend that you utilize the double slash // operator because it allows you to type less.