首页 > 解决方案 > ZeroDivisionError 即使在使用 try 和 except 之后

问题描述

# program to print the reciprocal of even numbers

num = int(input("Enter a number: "))

try:
    assert num % 2 == 0

except ZeroDivisionError:
    print(err)

except:
    print("Not an even number!")

else:
    reciprocal = 1/num
    print(reciprocal)

该代码不起作用并给我以下错误:

---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-41-ce890375558f> in <module>
      8     print("Not an even number!")
      9 else:
---> 10     reciprocal = 1/num
     11     print(reciprocal)

ZeroDivisionError: division by zero

标签: pythonpython-3.x

解决方案


“reciprocal = 1/num”这一行必须在 try 部分。像这样的东西:

# program to print the reciprocal of even numbers

num = int(input("Enter a number: "))

try:
    assert num % 2 == 0
    reciprocal = 1/num
    print(reciprocal)

except ZeroDivisionError:
    print(err)

except:
    print("Not an even number!")

推荐阅读