迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中 ZeroDivisionError: Float Division by Zero 错误

作者:迹忆客 最近更新:2023/05/11 浏览次数:

我们将介绍为什么会出现 ZeroDivisionError 以及我们如何通过 Python 中的示例轻松解决它。


Python ZeroDivisionError: Float Division by Zero

在处理包含基于结果的数学表达式的数学方程式或代码时,这是一个常见错误。 在 Python 中,尝试将数字除以零时会发生 ZeroDivisionError。

在数学中,不可能将任何数字除以零。 每当通过我们的代码出现情况时,将数字除以零将抛出异常。

让我们用 Python 编写一个程序来抛出这个异常,如下所示。

firstNum = 10
secondNum = 5
thirdNum = 7
forthNum = 5
print((firstNum + thirdNum)/(secondNum - forthNum))

输出:

zero division error in python

从上面的例子可以看出,分母相减结果为 0,我们得到了错误 ZeroDivisionError。 让我们用浮点数来测试另一个例子,如下所示。

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0
print((firstNum + thirdNum)/(secondNum - forthNum))

我们现在将收到以下错误消息。

使用浮点数的零除法错误

正如我们从上面的示例中看到的那样,只要我们的分母结果为零,它就会使我们的应用程序崩溃,并且还可能在重要程序运行期间丢失重要数据。

正确处理此类错误非常重要,可以保护我们的程序免于崩溃和丢失任何重要信息。

有两种方法可以解决这个问题,我们将详细讨论。 第一个解决方案是使用 if-else 语句。

我们将始终确保执行除法时,分母之差始终大于零。 如果两个分母之间的差为零,它只会输出消息说我们不能被零除。

解决方案的代码如下所示。

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

nominators = firstNum + thirdNum
denominators = secondNum - forthNum
if denominators != 0:
    print((firstNum + thirdNum)/(secondNum - forthNum))
else:
    print("Cannot divide by zero.")

当我们运行这段代码时,它会给出以下输出。

零除法误差先解法

从上面的例子可以看出,如果分母的结果为 0,我们的代码不会抛出错误,而是输出我们希望它输出的短语。我们的第二个解决方案使用 try 和 except 方法,如下所示。

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

try:
    print((firstNum + thirdNum)/(secondNum - forthNum))
except:
    print("Cannot divide by zero.")

代码将尝试运行表达式; 如果运行成功,会显示结果; 否则,它会显示我们不能被零除的短语。 以下代码的输出如下所示。

零除法误差二解

非常重要的是要注意,这些解决方案仅在我们知道错误的来源是因为分母为零时才处理错误,但是如果您不确定分母是否可以为零,最好在执行之前进行检查 手术。

总之,ZeroDivisionError: float division by zero 是 Python 中的一个常见异常,当试图将 float 除以零时会发生。

可以使用 if 语句和 try-except 块处理此异常。 为避免崩溃或产生不正确的结果,我们必须在代码中处理此异常。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便