为了账号安全,请及时绑定邮箱和手机立即绑定

ZeroDivisionError:即使我有一个零捕手,也被零浮点数

ZeroDivisionError:即使我有一个零捕手,也被零浮点数

开满天机 2021-09-02 16:45:21
我对 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测试和精确对象身份测试。


查看完整回答
反对 回复 2021-09-02
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

您正在使用is的时候,你应该使用==

is检查相同的实例。这个东西另一个东西是一样的

==检查相同或不同实例的相等性。0 等于 0.0 吗?

我敢打赌,您正在检查 0 是否为 0.0,但事实并非如此。然后,当您除以 0.0 时,您会得到错误。


查看完整回答
反对 回复 2021-09-02
  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信