How to Divide in Python
What you’ll build or solve
You’ll learn how to divide numbers in Python using the right operator for your goal.
When this approach works best
Division works well when you:
Learn Python on Mimo
- Calculate averages, rates, or unit prices, like total cost divided by people.
- Split values into larger units, like seconds into minutes plus leftover seconds.
- Check if something divides evenly, like “is this number a multiple of 5?”
Avoid this approach when the denominator can be zero and you do not control the value. Handle that case first, or you’ll get a ZeroDivisionError.
Prerequisites
- Python installed
- You know what numbers are
Step-by-step instructions
1) Choose the division type you need
Python gives you two common division operators.
Option A (most common): normal division with /
This returns a float, even when the numbers divide evenly.
print(10/2)# 5.0
print(7/2)# 3.5
Option B: integer division with //
This drops the decimal part.
print(10//2)# 5
print(7//2)# 3
What to look for: // floors the result, which matters with negatives.
print(-7//2)# -4
2) Get the remainder with %
Use modulo when you want what’s left over after dividing.
print(7%2)# 1
print(10%2)# 0
A common pattern is splitting a value into a bigger unit plus the leftover.
total_minutes=135
hours=total_minutes//60
minutes=total_minutes%60
print(hours,minutes)# 2 15
3) Avoid dividing by zero
Division by zero crashes your program, so guard it.
numerator=10
denominator=0
ifdenominator==0:
print("Cannot divide by zero.")
else:
print(numerator/denominator)
If you want a reusable helper:
CSS
defsafe_divide(a,b):
ifb==0:
returnNone
returna/b
print(safe_divide(10,2))
print(safe_divide(10,0))
Examples you can copy
Example 1: Calculate an average
total_points=87
count=5
average=total_points/count
print(average)
Example 2: Split a bill and format the result
total=58.75
people=4
per_person=total/people
print(f"{per_person:.2f}")
Example 3: Convert seconds to minutes and seconds
total_seconds=367
minutes=total_seconds//60
seconds=total_seconds%60
print(minutes,seconds)
Example 4: Calculate full pages with integer division
items=53
page_size=10
full_pages=items//page_size
print(full_pages)# 5
Example 5: Divide user input safely
Python
a=float(input("Enter the first number: "))
b=float(input("Enter the second number: "))
ifb==0:
print("Cannot divide by zero.")
else:
print(a/b)
Common mistakes and how to fix them
Mistake 1: Using // and expecting decimals
What you might do:
print(7//2)
Why it breaks: // removes the fractional part, so you lose decimal precision.
Correct approach:
print(7/2)# 3.5
Mistake 2: Dividing input strings without converting
What you might do:
a=input("a: ")
b=input("b: ")
print(a/b)
Why it breaks: input() returns strings, and Python cannot divide strings.
Correct approach:
Python
a=float(input("a: "))
b=float(input("b: "))
ifb==0:
print("Cannot divide by zero.")
else:
print(a/b)
Mistake 3: Forgetting that division by zero crashes
What you might do:
print(10/0)
Why it breaks: Python raises ZeroDivisionError.
Correct approach:
Bash
denominator=0
ifdenominator==0:
print("Cannot divide by zero.")
else:
print(10/denominator)
Troubleshooting
If you see ZeroDivisionError: division by zero, check the denominator before dividing.
If you see TypeError: unsupported operand type(s) for /, convert values to numbers with int() or float().
If you see ValueError: could not convert string to float, your input is not a number. Try 3.14 instead of 3,14.
If you get an unexpected result with // and negative numbers, remember it floors. Use / if you want a decimal.
If you see NameError, check for typos in variable names.
Quick recap
- Use
/for normal division, you will get a float. - Use
//for integer division when you want a whole-number result. - Use
%to get the remainder. - Check for zero before dividing.
- Convert user input to
intorfloatbefore doing math.
Join 35M+ people learning for free on Mimo
4.8 out of 5 across 1M+ reviews
Check us out on Apple AppStore, Google Play Store, and Trustpilot