Невозможно использовать try, за исключением ошибки деления на ноль - PullRequest
0 голосов
/ 02 марта 2020

Я использую следующий код и получаю ошибку деления на ноль. Я не уверен, как использовать здесь предложение / исключение

prelist = [float(b) / float(m) for b,m in zip(prec, res)]

1 Ответ

0 голосов
/ 02 марта 2020

Ошибка выдается при делении на ноль. Вы выполняете операцию деления, когда создаете свой список «prelist», который выполняется вне вашей попытки / кроме. Переместите создание prelist в try (это легче понять, если вы используете для l oop вместо понимания списка):

prelist = []
for b,m in zip(prec, res):
    try:
        prelist.append(float(b) / float(m))
    except ZeroDivisionError:
        prelist.append(0)

Другое решение состоит в добавлении оператора if / else в понимании списка к учетной записи. для деления на ноль.

prelist = [float(b) / float(m) if m != 0 else 0 for b,m in zip(prec, res)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...