忽略零分割错误

时间:2016-05-05 00:41:41

标签: python zero

我正在编写一个程序,它从输入文件中读取整数值,除以数字,然后将百分比写入输出文件。我的程序可能为零的一些值,并带来0/0或4/0场合。

从这里,我得到一个Zerodivisionerror,有没有办法忽略这个错误,所以它只是打印0%??

感谢。

1 个答案:

答案 0 :(得分:3)

最简单的选择是检查除数是否为0,如果是这种情况,则跳过除法,只使用0作为结果:

n = [(1, 3), (5, 2), (0, 0), (3, 3), (4, 0)]
res = [x / float(y) if y else 0 for x, y in n] # [0.3333333333333333, 2.5, 0, 1.0, 0]

其他选项是使用ZeroDivisionError / try抓住except

res = []
for x, y in n:
    try:
        res.append(x / float(y))
    except ZeroDivisionError:
        res.append(0)