Error Python: [Zerodivisionerror: Division by Zero]

Error Python: [Zerodivisionerror: Division by Zero]

I faced an error when I run my program using python: The error is like this:

ZeroDivisionError: division by zero

My program is similar to this:

In [55]:

x = 0
y = 0
z = x/y
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-55-30b5d8268cca> in <module>()
      1 x = 0
      2 y = 0
----> 3 z = x/y

ZeroDivisionError: division by zero

Thus, I want to ask, how to avoid that error in python. My desired output is z = 0

2

4 Answers

Catch the error and handle it:

try:
    z = x / y
except ZeroDivisionError:
    z = 0

Or check before you do the division:

if y == 0:
    z = 0
else:
    z = x / y

The latter can be reduced to:

z = 0 if y == 0 else (x / y) 

Or if you're sure y is a number, which implies it`s truthy if nonzero:

z = (x / y) if y else 0
z = y and (x / y)   # alternate version
0
# we are dividing until correct data is given
executed = False
while not executed:
    try:
        a = float(input('first number --> '))
        b = float(input('second number --> '))
        z = a / b
        print(z)
        executed = True
    except ArithmeticError as arithmeticError:
        print(arithmeticError)
    except ValueError as valueError:
        print(valueError)
    except Exception as exception:
        print(exception)

Returning zero instead of the division by zero error can be accomplished with a Boolean operation.

z = y and (x / y)

Boolean operations are evaluated left to right and return the operand, not True or False.

If y is 0, the value returned is y. If y is different from 0, the right side of the operation is executed and the value returned is x / y

ZeroDivisionError: division by zero

a = 10
b = 0
c = a/b

This would cause the type error because you are dividing by zero.


To solve this issue:

a = 10
b = 0
c = ( a / b ) if b != 0 else 0
print c

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling
Author

James H. Sterling

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.