为什么我的“ if”语句不排除零?

问题描述 投票:0回答:1

我必须在这里划分一些值,但是由于它是零,所以会给出“ ZeroDivisionError”。因此,我编写了以下代码。

if list_actual_revenue[x] != 0.00 or list_actual_revenue[x] != 0:
    print('********************')
    print(list_actual_revenue[x])
    print('********************')
    value_rev = float(list_forecast_revenue[x]) - float(list_actual_revenue[x])
    value_rev = value_rev / float(list_actual_revenue[x])

我得到的错误是

    value_rev = value_rev / float(list_actual_revenue[x])
ZeroDivisionError: float division by zero

所以我决定打印出值并查看发生了什么

********************
3120.00
********************
********************
3055.00
********************
********************
11625.00
********************
********************
11937.50
********************
********************
3000.00
********************
********************
3000.00
********************
********************
3000.00
********************
********************
3000.00
********************
********************
3000.00
********************
********************
3000.00
********************
********************
0.00
********************

您可以看到最后一行是“ 0.00”。我的问题是:如果“ if语句”必须排除0.00,为什么会有0.00?

python-3.x if-statement divide-by-zero
1个回答
0
投票

可能是错误的,但是是因为:

list_actual_revenue[x] != 0.00 or list_actual_revenue[x] != 0
如果这些匹配项中的<< OR语句将返回true。这意味着您实际上总是在敲击if语句。尝试AND?
© www.soinside.com 2019 - 2024. All rights reserved.