在Python中,尽管said lin的内容是,但同一行将float除法提高到零

2024-05-14 23:34:29 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我有一个来自另一个软件的python文件。在上述python文件中,当我尝试运行该软件时发生了一个错误,其中它抱怨我(或者更确切地说,是那些不知何故做出了此操作的人)不能除以零:

 k = (c - 1.0) / (c + 1.0)

在这一点上,我想,“公平地说,我会阻止这一切发生。”

^{pr2}$

现在不是得到我原来的错误:

File "/home/wurst/Programs/Armory/armsdk//armory/blender/arm/exporter.py", line 1675, in extract_projection
    k = (c - 1.0) / (c + 1.0)
ZeroDivisionError: float division by zero

我明白了:

File "/home/wurst/Programs/Armory/armsdk//armory/blender/arm/exporter.py", line 1675, in extract_projection
    if abs(c+10)<0.001:
ZeroDivisionError: float division by zero

在这一点上,我觉得自己很愚蠢,于是开始阅读python教程,但是没有任何关于这个主题的内容。即使我把这行留空,它也会抱怨空白行是零分的。

我做错什么了?


Tags: 文件inpyhome错误lineexporterfile
3条回答

对于这种情况,您不需要使用abs。 这应该可以做到:

if (c + 1.0):
    k = (c - 1.0) / (c + 1.0)
else:
    k = 0

在if语句中似乎缺少小数点。在

if abs(c + 1.0) < 0.001:
    k = 0
else:
    k = (c - 1.0) / (c + 1.0)

pyc文件由编译的Python字节码组成,由于某些原因比Python源代码更新。PythonVM在.pyc中运行旧代码,但使用.py中的新源代码来显示错误所在。删除.pyc文件。在

相关问题 更多 >

    热门问题