我正在编写一个程序,它从输入文件中读取整数值,除以数字,然后将百分比写入输出文件。我的程序可能为零的一些值,并带来0/0或4/0场合。
从这里,我得到一个Zerodivisionerror,有没有办法忽略这个错误,所以它只是打印0%??
感谢。
答案 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)