除零除法错误外,无法使用try



我正在使用以下代码,并获得"除以零"错误。我不知道如何在这里使用try/except子句

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

当您除以零时会抛出错误。创建"预列表"列表时,您正在执行除法运算,该操作在try/except之外进行。在try中移动预列表创建(如果使用for循环而不是列表理解,则更容易理解(:

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)]

最新更新