我对 Python 有点陌生。我在下面附上了一段代码。constant_a & b 是整数。运行此代码时,出现以下错误:回溯(最近一次调用):文件“U:\V10_run2\process.py”,第 209 行,在 delta_mcs_2_gfx_percentage=(delta_mcs_2_gfx*100)/float(mcs) ZeroDivisionError: float 除以零mcs=hash["MCF"]*constant_a/constant_b if mcs is 0: delta__percentage=-100else: delta__percentage=(delta*100)/mcs正如错误所说,我认为这是因为 python 试图进行整数除法float(delta*100)/float(mcs)并将mcs 舍入为 0,但我也尝试过这也无济于事。有什么建议 ??
2 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
尝试使用==代替is:
a = 0.0
if a is 0:
print("is zero")
else:
print("not zero")
# 'not zero'
if a == 0:
print("== zero")
else:
print("not zero")
# '== zero'
有关更多解释,请参阅此帖子。本质上,==相等性is测试和精确对象身份测试。
牧羊人nacy
TA贡献1862条经验 获得超7个赞
您正在使用is
的时候,你应该使用==
。
is
检查相同的实例。这个东西和另一个东西是一样的吗
==
检查相同或不同实例的相等性。0 等于 0.0 吗?
我敢打赌,您正在检查 0 是否为 0.0,但事实并非如此。然后,当您除以 0.0 时,您会得到错误。
添加回答
举报
0/150
提交
取消