ZeroDivisionError: деление с плавающей запятой на ноль, даже если у меня есть ноль ловец - PullRequest
0 голосов
/ 30 ноября 2018

Я немного новичок в Python.Я приложил фрагмент кода ниже.константа-а & б являются целыми числами.Во время выполнения этого кода я получаю следующую ошибку:

Traceback (последний последний вызов): файл "U: \ V10_run2 \ process.py", строка 209, в delta_mcs_2_gfx_percentage = (delta_mcs_2_gfx * 100) / float (mcs) ZeroDivisionError: деление на 0float(delta*100)/float(mcs), что тоже не помогло.Любые предложения ??

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Вы используете is, когда должны использовать ==.

is проверяет идентичные экземпляры.Является ли эта вещь такой же, как эта другая вещь

== проверяет равенство одинаковых или разных экземпляров.От 0 равно 0,0?

Моя ставка заключается в том, что вы проверяете, есть ли 0 0,0, а это не так.Затем, когда вы делите на 0,0, вы получаете ошибку.

0 голосов
/ 30 ноября 2018

Попробуйте использовать == вместо 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 тесты на точную идентичность объекта.

...