在 Python 中除以零返回零

在 Python 中除以零返回零

Make division by Zero return Zero in Python

在 Python 中使用if/else语句使除以零返回零,例如return a / b if b else 0. 当数字除以时0,结果趋于无穷大,但我们可以检查除数是否等于,如果是则0返回0

主程序
# ✅ make division of zero return zero using if/else def handle_zero_division(a, b): return a / b if b else 0 print(handle_zero_division(15, 5)) # 👉️ 3.0 print(handle_zero_division(15, 0)) # 👉️ 0 # ------------------------------------- # ✅ make division of zero return zero using try/except def handle_zero_division_2(a, b): try: result = a / b except ZeroDivisionError: result = 0 return result print(handle_zero_division_2(15, 5)) # 👉️ 3.0 print(handle_zero_division_2(15, 0)) # 👉️ 0

当我们除以 时不清楚期望值是多少0,因此 Python 会抛出一个错误。

当我们将一个数除以0时,结果趋于无穷大。

第一个示例使用内联if/else语句检查除数是否为假。

由于0是唯一的数值假值,如果除数是假的,我们返回0,否则我们返回除以的结果 a b

0您还可以在if/else
语句中
明确检查除数是否等于。

主程序
def handle_zero_division(a, b): return 0 if b == 0 else a / b print(handle_zero_division(15, 5)) # 👉️ 3.0 print(handle_zero_division(15, 0)) # 👉️ 0

或者,您可以使用try/except语句。

要除以零返回零:

  1. 将部门包装在一个try/except声明中。
  2. except块应处理ZeroDivisionError.
  3. 将结果设置到0块中except
主程序
def handle_zero_division_2(a, b): try: result = a / b except ZeroDivisionError: result = 0 return result print(handle_zero_division_2(15, 5)) # 👉️ 3.0 print(handle_zero_division_2(15, 0)) # 👉️ 0

try/except块被称为“请求宽恕,而不是许可”。

我们尝试将 numbera除以 number b,如果我们得到 a ZeroDivisionErrorexcept则运行该块。

except块中,我们将result变量设置为0

如果除数不存储0值,则该except块永远不会运行。

发表评论