ZeroDivisionError: division by zero
Youβre dividing a number by zero, which is mathematically undefined.
Fix 1: Check before dividing
# β Crashes if total is 0
average = sum_values / total
# β
Check first
if total != 0:
average = sum_values / total
else:
average = 0
Fix 2: Use a default with try/except
try:
result = a / b
except ZeroDivisionError:
result = 0 # or float('inf'), or None
Fix 3: Common scenarios that cause it
Empty list average:
numbers = []
# β len([]) is 0
average = sum(numbers) / len(numbers)
# β
Check for empty
average = sum(numbers) / len(numbers) if numbers else 0
Percentage calculation:
# β total_users could be 0
percentage = (active_users / total_users) * 100
# β
Guard against zero
percentage = (active_users / total_users) * 100 if total_users else 0
Modulo operator too:
# β Also raises ZeroDivisionError
result = 10 % 0
# β
Check first
result = 10 % divisor if divisor != 0 else 0
Related resources
Related: Pip Install Error Fix Β· Python Stopiteration Fix Β· Module Not Found Error Fix